In Processing können auch SVG-Daten genutzt werden, doch muss man hierbei beachten, dass nur ein Teil der SVG-Befehle von Processing unterstützt werden.
PShape elShape; PShape warningShape; float rotAngle = 0.0; void setup() { size(600,600); // def. fenstergroesse // lade die svg files elShape = loadShape("High_voltage_warning.svg"); warningShape = loadShape("Achtung.svg"); shapeMode(CENTER); // nullpunkt des svg-objekts liegt in der mitte smooth(); } void draw() { background(255); pushMatrix(); translate(width *.5,height *.5); rotate(rotAngle); shape(elShape,0,0,200,200); popMatrix(); rotAngle+=.01; shape(warningShape,mouseX,mouseY,100,100); }
In diesem Beispiel werden 2.D Bilder(Bitmap) dargestellt und es werden Arrays genutzt. Hier nutzen wir ein 1.Dimensionales Array. Ein Array ist ein Feld mit n-Datenfelder eines definierten Datentypes. Um auf ein Element dieses Array zuzugreifen benutzt man diese ‘[index]‘-Klammern.
PImage[] imageList = null; // variable sauber initialisieren void setup() { size(600,600); // def. fenstergroesse imageList = new PImage[3]; imageList[0] = loadImage("./images/1.jpg"); imageList[1] = loadImage("./images/2.jpg"); imageList[2] = loadImage("./images/3.jpg"); } void draw() { background(255); pushMatrix(); translate(10,100); for(int i=0;i < imageList.length; i++) { image(imageList[i],0,0,140,140); translate(150,0); } popMatrix(); }
Zeichne einen 4.Planeten(4.jpg) und lass diesen Planeten der Maus folgen. Verändere das Programm und die Daten in der Weise, dass der 4.Planet und nur der 4.Planet dargestellt wird (kein eckiges Bild, sondern nur der Planet).