kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Ü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