飛機左右控制
import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup() {
size(600, 600, P3D);
leap = new LeapMotion(this);
}
void draw(){
background(255);
for(Hand hand : leap.getHands() ){
hand.draw();
float angle = hand.getYaw();
PVector pos = hand.getPosition();
translate(pos.x,pos.y,pos.z);
rotateY(-radians(angle));
fill(128); stroke(0); box(100);
}
}
=======================================================================
飛機左右旋轉圖
import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup() {
size(600, 600, P3D);
leap = new LeapMotion(this);
}
float groundDir=0;
void draw(){
background(255);
for(int i=-10; i<=10; i++){
for(int j=-10; j<=10; j++){
pushMatrix();
translate(300,300);
rotateX(radians(70));
rotateZ(radians(groundDir));
translate(i*30,j*30);
box(30);
popMatrix();
}
}
for(Hand hand : leap.getHands() ){
hand.draw();
float angle = hand.getYaw();
PVector pos = hand.getPosition();
translate(pos.x,pos.y,pos.z);
rotateY(-radians(angle));
fill(128); stroke(0); box(100);
groundDir= -angle;
}
}
=======================================================================
飛機地板(旋轉) 飛飛飛
import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup() {
size(600, 600, P3D);
leap = new LeapMotion(this);
}
float nowX=0,nowY=0,nowA=0;
void draw(){
background(255);
nowY+=cos(nowA); nowX+=sin(nowA);
for(int i=-10; i<=10; i++){
for(int j=-10; j<=10; j++){
pushMatrix();
translate(300,300);
rotateX(radians(70));
rotateZ(nowA);
translate(i*200+nowX,j*200+nowY,0);
fill(255);
box(200);
popMatrix();
}
}
for(Hand hand : leap.getHands() ){
hand.draw();
float angle = hand.getYaw();
PVector pos = hand.getPosition();
nowA += radians(-angle/40);
translate(pos.x,pos.y,pos.z);
rotateY(-radians(angle));
fill(128); stroke(0); box(100);
}
}
=======================================================================
沒有留言:
張貼留言