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.

growingForest(3);

19. September 2013

ZUSATZSCHLEIFEN - KOORDINATENSYSTEM http://blogs.iad.zhdk.ch/codingspace/lektionen/lektion-4/ http://blogs.iad.zhdk.ch/codingspace/koordinatensystem/   Donnerstag, 19.09.2013 Wir bearbeiteten hauptsächlich das Koordinatensystem mit welchem man ganze Formen ohne <vertex> verschieben, skalieren, rotieren etc. kann. Die Aufgabe bestand darin, einen eigenen Wald zu erstellen, der seine Form/Grösse etc. verändern konnte.   EIGENERFAHRUNG Als ich die <random> Funktion für die Bläter und den Stamm benutzte und diese mit <push/popMatrix> kombinierte, stiess ich auf Hindernisse. Das Problem war, dass der Stamm immer verschoben zu den Blättern stand. Ich löste das Problem mit einere eigenen Variabel und Verschachtelung der <push/popMatrix>. Zwei weitere Probleme konnte ich noch nicht lösen. Die Wolke, welche mit jedem <pressedMouse> nach rechts fährt, wird nicht mehr gelöscht. Jedoch kann ich den <background> nicht in die <draw> Funktion nehmen. Es würde das Wolkenproblem zwar lösen, jedoch würde nur immer ein Baum angezeigt. Das nächste Hinderniss, welches ich noch nicht meistern konnte ist, dass die Bäume im Hintergrund kleiner werden und hintereinander stehen. Doch warte ich ab, bis wir die <arrays> anschauen, um das Problem zu lösen.   Beispiel 1

void setup() {

size(600, 300);
background(#A1D4FC);
smooth();
randomSeed(millis());
noLoop();
fill(255, 200, 20);
rect(-1, 200, 601, 600);
}

void draw() {


pushMatrix();
translate(1+cloudSpaceCount, 10);
cloud();
popMatrix();


pushMatrix();
translate(random(-100, 600), random(100, 200));

pushMatrix();
translate(myCount1, myCount2);
scale(.5);
stamp();
translate(myCount1-140, myCount2-200);
leaves();
popMatrix();

popMatrix();
}



void cloud() {
noStroke();

fill(255);
ellipse(10, 5, 50, 10);
}


int myCount1 = 100;
int myCount2 = 100;

void stamp () {

for (int i = 0; i<30; i++) {
stroke(20, 20, 20);
strokeWeight(6);
fill(255, 20, 20);
ellipse(10, random(1, 100), 4, 4);
}
}


void leaves() {

for (int i = 0; i<60; i++) {
stroke(20, 20, 20);
strokeWeight(2);
fill(20, random(150, 220), 20);
ellipse(random(1, 100), random(1, 100), 6, 6);
}
}

int cloudSpaceCount = 0;
void mousePressed() {
redraw();
cloudSpaceCount++;
println(cloudSpaceCount);
}



Output 1 ProcessingLessonThree_1