2014年3月10日 星期一

513 第4周


 1.範例:


2.import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup() { size ( 800 , 500 , P3D) ; background(255) ; leap = new LeapMotion(this); }
void draw () { background(255); for (Hand hand : leap.getHands()) { hand.draw(); } }



3.
// bRigid provides classes for an easier handling of jBullet in Processing. bRigid is thought as a kind of Processing port for the bullet physics simulation library written in C++. 
// This library allows the interaction of rigid bodies in 3D. Geometry/ Shapes are build with Processing PShape Class, for convinient display and export (c) 2013 Daniel Köhler, daniel@lab-eds.org
//here: build a TriangleMesh and use it as "Terrain"
import javax.vecmath.Vector3f;
import processing.core.PApplet;
import peasy.*;
import bRigid.*;
import de.voidplus.leapmotion.*;
LeapMotion leap;
PeasyCam cam;
BPhysics physics;
BObject rigid;
BTerrain terrain;
public void setup() {
  size(1280, 720, P3D);
  frameRate(60);
  cam = new PeasyCam(this, 200);
  cam.pan(0, 50);
  cam.rotateX(.4f);
  physics = new BPhysics();
  physics.world.setGravity(new Vector3f(0, 40, 0));
  float height = 1.1f;
  //BTerrain(PApplet p, int tesselation, float height, int seed, Vector3f position, Vector3f scale) 
  terrain = new BTerrain(this, 110, height, 10, new Vector3f(), new Vector3f(2, 2, 2));
  physics.addBody(terrain);
  //create the first rigidBody as Sphere
  rigid = new BBox(this, 5, 1.0f, 10.0f, 1.0f);
  leap = new LeapMotion(this);
}
public void draw() {
  background(255);
  lights();
  rotateY(frameCount*.002f);
for (Hand hand : leap.getHands()) {
   PVector h  = hand.getPosition();
    if (frameCount%2==0) {
      Vector3f pos = new Vector3f(h.x / 10 -80 , -30, h.z -50);
      //reuse the rigidBody of the sphere for performance resons
      BObject r = new BObject(this, 5, rigid, pos, true);
      physics.addBody(r);
    }
}
  physics.update();
  terrain.display();
  for (int i =1;i<physics.rigidBodies.size();i++) {
    BObject b = (BObject) physics.rigidBodies.get(i);
    b.display(50, 50, 50);
  }
}




沒有留言:

張貼留言