Übungen zu PShape und VR
(EN google-translate)
(PL google-translate)
Bei den nachfolgenden Sketches ist in den Kommentaren angegeben, was zu tun ist.
Übung 1
vr_uebung_001.zipimport processing.vr.*; //ACHTUNG: //Android->VR anhaken //Android->Sketchpermission: WRITE_TO_EXTERNAL_STORAGE und VIBRATE anhaken. //Aufgabe: //a) Testen und analysieren Sie diesen Sketch //b) Es gibt alternative auskommentierte Zeilen (VARIANTEN). // Probieren Sie diese durch und versuchen Sie die Veränderungen zu verstehen. PShape sphere; PMatrix3D eyeMat = new PMatrix3D(); void setup() { sphere = createShape(SPHERE, 50); sphere.setStroke(false); //VARIANTEN: sphere.setFill(color(255,0,0)); //sphere.setFill(color(0,255,0)); //sphere.setFill(color(0,0,255)); //VARIANTEN: sphere.translate(0,0,-500); //sphere.translate(-100,0,-500); //sphere.translate(100,0,-500); //sphere.translate(0,100,-500); //sphere.translate(0,-100,-500); // fullScreen(STEREO); fullScreen(MONO); } void draw() { //Standardeinstellungen für unser Arbeiten: background(0); getEyeMatrix(eyeMat); //Kameramatrix auslesen translate(eyeMat.m03, eyeMat.m13, eyeMat.m23); //Welt in Koordinatenursprung von Kamera setzen. lights(); //ENDE Standardeinstellungen für unser Arbeiten: shape(sphere); }
Code 0-1: vr_uebung_001
Übung 2
vr_uebung_002.zipimport processing.vr.*; //Aufgabe: //Fügen Sie weitere Spheren dem Container hinzu s.u. PShape sphere; PShape sphere2; PShape container; PMatrix3D eyeMat = new PMatrix3D(); void setup() { container = createShape(GROUP); sphere = createShape(SPHERE, 50); sphere.setStroke(false); //VARIANTEN: sphere.setFill(color(255,0,0)); //sphere.setFill(color(0,255,0)); //sphere.setFill(color(0,0,255)); //VARIANTEN: sphere.translate(0,0,-500); //sphere.translate(-100,0,-500); //sphere.translate(100,0,-500); //sphere.translate(0,100,-500); //sphere.translate(0,-100,-500); container.addChild(sphere); sphere2 = createShape(SPHERE, 50); sphere2.setStroke(false); sphere2.setFill(color(255,255,0)); sphere2.translate(0,100,-500); container.addChild(sphere2); // fullScreen(STEREO); fullScreen(MONO); } void draw() { //Standardeinstellungen für unser Arbeiten: background(0); getEyeMatrix(eyeMat); //Kameramatrix auslesen translate(eyeMat.m03, eyeMat.m13, eyeMat.m23); //Welt in Koordinatenursprung von Kamera setzen. lights(); //ENDE Standardeinstellungen für unser Arbeiten: shape(container); }
Code 0-2: vr_uebung_002
Übung 3
vr_uebung_003.zipimport processing.vr.*; //ACHTUNG: //Android->VR anhaken //Android->Sketchpermission: WRITE_TO_EXTERNAL_STORAGE und VIBRATE anhaken. //Aufgabe: //a) Erstellen Sie eine kontinuierliche Animation. //b) Erstellen Sie eine Animation, bei der die Sphere eine Kreisbewegung ausführt. PShape sphere; PMatrix3D eyeMat = new PMatrix3D(); void setup() { sphere = createShape(SPHERE, 50); sphere.setStroke(false); //VARIANTEN: sphere.setFill(color(255,0,0)); //sphere.setFill(color(0,255,0)); //sphere.setFill(color(0,0,255)); //VARIANTEN: sphere.translate(0,0,-500); //sphere.translate(-100,0,-500); //sphere.translate(100,0,-500); //sphere.translate(0,100,-500); //sphere.translate(0,-100,-500); // fullScreen(STEREO); fullScreen(MONO); } int zzz=0; void draw() { //Standardeinstellungen für unser Arbeiten: background(0); getEyeMatrix(eyeMat); //Kameramatrix auslesen translate(eyeMat.m03, eyeMat.m13, eyeMat.m23); //Welt in Koordinatenursprung von Kamera setzen. lights(); //ENDE Standardeinstellungen für unser Arbeiten: if(zzz==0) sphere.translate(-100,0,0); if(zzz==30) sphere.translate(100,0,0); shape(sphere); zzz++; zzz%=60; }
Code 0-3: vr_uebung_003