●用FAAS模擬賽車動作
(left hand above right hand then mouse move to right)
photo:
起始畫面
add 設定
input /left hand /above /right hand /at least /20 /ok
output /add mouse move event /by relative distance /(1, 0) /ok
Gestures 2 again!
●配合processing轉動方塊
code:
void setup(){
size(800, 600, P3D);
}
void draw(){
background(255);
pushMatrix();
translate(width/2, height/2);
rotateZ(angle/180.0);
rect(0, 0, 100, 100);
popMatrix();
}
void mouseMoved(){
int x= mouseX-pmouseX;
int y= mouseY-pmouseY;
if(x>0) angle+=1;
if(x<0) angle-=1;
}
void keyPressed(){
if(key=='l') angle++;
if(key=='r') angle--;
}
photo:
left
right
用滑鼠旋轉方塊
import kinect4WinSDK.Kinect;
import kinect4WinSDK.SkeletonData;
PImage imgCar;
Kinect kinect;
ArrayList <SkeletonData> bodies;
float angle=0, dX=0, dY=0, vel=1;
void setup(){
size(640, 480, P3D);
background(0);
kinect= new Kinect(this);
smooth();
bodies= new ArrayList<SkeletonData>();
imgCar= loadImage("red.png");
}
void draw(){
background(0);
image(kinect.GetImage(), 320, 0, 320, 240);
image(kinect.GetDepth(), 320, 240, 320, 240);
image(kinect.GetMask(), 0, 240, 320, 240);
for(int i=0;i<bodies.size();i++){
drawSkeleton(bodies.get(i));
drawPosition(bodies.get(i));
}
pushMatrix();
translate(width/2, height/2);
rotateZ(angle);
image(imgCar, -100, -50, 200, 100);
popMatrix();
}
void drawPosition(SkeletonData _s){
noStroke();
fill(0, 100, 255);
//need to add//
}
void mouseMoved(){
int x= mouseX-pmouseX;
int y= mouseY-pmouseY;
if(x>0) angle+=1/40.0;
if(x<0) angle-=1/40.0;
}
void keyPressed(){
if(key=='l') angle++;
if(key=='r') angle--;
if(keyCode==UP) vel*=1.1;
if(keyCode==DOWN) vel*=0.9;
println("vel:"+vel);
}
沒有留言:
張貼留言