9. November 2010
Das generierte Ornament besteht aus einem einfachen Random-Pattern , dass wenn 10x10 aneinandergefügt wird, dieses Bild generiert: Durch ein aneinanderreihen dieses Bildes zu einem grösseren Ornament entsteht dieses Bild: Code:import processing.pdf.*; void setup() { //size(600,600,PDF,"ornament_linien_einfach.pdf"); // def. fenstergroesse size (600,600); smooth(); // aktiviere antialiasing strokeWeight(45); // linienbreite frameRate(1); } void draw() { background(255); // def. hintergrundfarbe for(int x = 0; x <= width; x+=60) { for(int y = 0; y <= height; y+=60) { //debug //debug ende pushMatrix(); translate(x,y); scale(0.1); ornament(); // funtions aufruf popMatrix(); } } // exit(); } // funktion void ornament() { noFill(); int R1x = (width*1/3); int R1y = (height*0/3); int R2x = (width*3/3); int R2y = (height*2/3); int R3x = (width*1/3); int R3y = (height*3/3); int R4x = (width*0/3); int R4y = (height*2/3); int B1x = (width*2/3); int B1y = (height*0/3); int B2x = (width*3/3); int B2y = (height*1/3); int B3x = (width*2/3); int B3y = (height*3/3); int B4x = (width*0/3); int B4y = (height*1/3); int R1choose = int (random(2,4)+0.5); // auswahl zu welchem roten Punkt int B1choose = int (random(2,4)+0.5); // auswahl zu welchem blauen Punkt int RorBfirst = int (random(0,1)+0.5); // welche linie zuerstgezeichnet wird, rot oder blau if (RorBfirst==0) { stroke(255,0,0); //redlines switch (R1choose) { // Wenn R1 gewählt hat linien zeichnen case 2: line (R1x,R1y,R2x,R2y); line (R3x,R3y,R4x,R4y); break; case 3: line (R1x,R1y,R3x,R3y); line (R2x,R2y,R4x,R4y); break; case 4: line (R1x,R1y,R4x,R4y); line (R2x,R2y,R3x,R3y); break; } stroke(0,0,255); //bluelines switch (B1choose) { // Wenn B1 gewählt hat linien zeichnen case 2: line (B1x,B1y,B2x,B2y); line (B3x,B3y,B4x,B4y); break; case 3: line (B1x,B1y,B3x,B3y); line (B2x,B2y,B4x,B4y); break; case 4: line (B1x,B1y,B4x,B4y); line (B2x,B2y,B3x,B3y); break; } } else { stroke(0,0,255); //bluelines switch (B1choose) { // Wenn B1 gewählt hat linien zeichnen case 2: line (B1x,B1y,B2x,B2y); line (B3x,B3y,B4x,B4y); break; case 3: line (B1x,B1y,B3x,B3y); line (B2x,B2y,B4x,B4y); break; case 4: line (B1x,B1y,B4x,B4y); line (B2x,B2y,B3x,B3y); break; } stroke(255,0,0); //redlines switch (R1choose) { // Wenn R1 gewählt hat linien zeichnen case 2: line (R1x,R1y,R2x,R2y); line (R3x,R3y,R4x,R4y); break; case 3: line (R1x,R1y,R3x,R3y); line (R2x,R2y,R4x,R4y); break; case 4: line (R1x,R1y,R4x,R4y); line (R2x,R2y,R3x,R3y); break; } } //debug // println(R1choose); //debug end }