Ü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.zip
import 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.zip
import 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.zip
import 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