Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Schleifen :: Wald

20. September 2013

Erstelle ein Programm welches einen Wald auf den Bildschirm zeichnet.
Bildschirmfoto 2013-09-20 um 16.03.25Bildschirmfoto 2013-09-20 um 16.04.12Bildschirmfoto 2013-09-20 um 16.05.25
void setup()
{
  size(500,500);
  background(255);
  //noLoop();
  noStroke();
}

void draw()
{}

//nur bis 10px 10 bäume, wenn fertig bis 30px 10 bäume, ...
//baum(random(-50,500),random(-50,500));
//int x = mouseX;
// int y = mouseY;
//  }
//void baum(float position = mouseX, float position2)

void mousePressed()
{
if(mousePressed && (key == '1')){
    translate(mouseX-30, mouseY-20);
    fill(random(15,45), random(30,70), random(27,49));
    top();
}
if(mousePressed && (key == '2')){
   translate(mouseX-41,mouseY-107);
      println("veschoben");
      bottom();
      middle();
      top();
      stamm();

}
if(mousePressed && (key == '3')){
   translate(mouseX-41,mouseY-107);
      println("veschoben");
      bottom();
      middle();
      top();
      stamm();
      eyes();

}
if(mousePressed && (key == '4')){
   translate(mouseX-41,mouseY-107);
      println("veschoben");
      bottom();
      middle();
      top();
      stamm();
      eyes2();

}
}

//baum
void bottom (){
      fill(random(15,45),random(30,70),random(27,49));
      noStroke();
      triangle(10, 95, 44, 40, 80, 95);
      fill(150);
      triangle(80, 95, 62, 67, 80, 90); //shadow
}

void middle (){
      fill(random(65,98),random(100,165),random(50,106));
      triangle(20, 70, 44, 30, 70, 70);
      fill(150);
      triangle(70, 70, 53, 44, 70, 65); //shadow
}

void top (){
      fill(random(98,130),random(165,200),random(106,155));
      triangle(30, 45, 44, 20, 60, 45);
      fill(150);
      triangle(60, 45, 44, 20, 60, 40); //shadow
}

void stamm (){
      fill(0);
      noStroke();
      rect(41, 95, 10, 12);
      fill(150);
      triangle(51, 107, 51, 95, 52, 106); //shadow
}

void eyes(){
      fill(0);
      ellipse(42,34,3,3); //eyes left
      ellipse(48,34,3,3); //eyes right
      bezier(40, 38, 42, 44, 48, 44, 51, 38);
}

void eyes2(){
      fill(0);
      ellipse(42,34,3,3); //eyes left
      ellipse(48,34,3,3); //eyes right
      noFill();
      stroke(0, 0, 0);
      bezier(40, 43, 42, 38, 48, 38, 51, 43);
}
Ich arbeitete an drei verschiedenen Codes, resp. kopierte ich Elemente in einen neuen Code und kreierte neue Dinge. Die erste Abbildung ist ein Programm, dass einen Wald von hinten nach vorne automatisch aufbaut. Im zweiten Programm werden die Bäume durch Mausklicke random irgendwo auf der Fläche positioniert. Im dritten Programm kann man die Bäume mit Hilfe von einem Mausklick positionieren, mit den Ziffern 1-4 zwischen Baum, Busch, glücklichem Baum oder traurigen Baum auswählen. Die Farben der Bäume (Dreiecke) wurden durch einen Randombereich eingegränzt und wechseln bei jedem neuen Baum.