9. November 2010
Mein Ornament Als Ausgangsobjekt verwende ich zwei sich rechtwinklig kreuzende, gleich lange und gleich dicke Linien. Diese Funktion heisst "kreuz()" bei mir. Die Länge der Linien habe ich in der Variablen "length" untergebracht, damit ich diese immer einfach anpassen kann, und nicht acht mal den Wert schreiben muss. Natürlich müsste diese Variable nicht "float" sein, sondern könnte genau so gut als "int" gespeichert werden, aber das kommt noch aus meiner Experimentierphase, als ich noch mit der "random()"-Funktion herumgespielt habe.void kreuz() { noFill(); strokeWeight(15)); float length = 300; // definiert die Länge der Linien line(-length,-length,length,length); line(-length,length,length,-length); }Nun wird mein "Kreuz" in der Funktion "draw()" positioniert und gezeichnet, wobei es bei jedem Durchgang um 0.1 π gedreht wird. Dies geschieht in folgenden Zeilen:
void draw() { background(255); float rota = 1; for(int x = 0; x <= width; x+=30) { for(int y = 0; y <= height; y+=30) { pushMatrix(); translate(x,y); scale(.1); rotate(rota); kreuz(); popMatrix(); rota = rota + .1*PI; } } exit(); }Und hier der komplette Code:
import processing.pdf.*; void setup() { size(600,600,PDF,"ornament_2.pdf"); smooth(); strokeWeight(15); } void draw() { background(255); float rota = 1; for(int x = 0; x <= width; x+=30) { for(int y = 0; y <= height; y+=30) { pushMatrix(); translate(x,y); scale(.1); rotate(rota); kreuz(); popMatrix(); rota = rota + .1*PI; } } exit(); } // funktion void kreuz() { noFill(); strokeWeight(15)); float length = 300; line(-length,-length,length,length); line(-length,length,length,-length); }Das Ganze lässt sich sehr gut kombinieren wie man bei folgenden Ansichten sehen kann: Und hier noch mit sichtbarer Unterteilung: Öhm ja. das wär's. Lieber Gruss und so.