import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup(){
size(640,480);
}
void draw(){
if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
結合leap畫出每一個手指 並且有xyz軸的變化(用strokeWeight偽裝z軸)
import de.voidplus.leapmotion.*;
PVector [][]fingerPosition = new PVector[5][10];
LeapMotion leap;
void setup(){
size(640,480);
leap = new LeapMotion(this);
for(int f=0;f<5;f++)for(int i=0;i<10;i++)fingerPosition[f][i]= new PVector(0,0,0);
}
void draw(){
background(255);
LeapmotionSetup();
drawFinger();
}
//////////////////////////////////////////
void LeapmotionSetup(){
int fps = leap.getFrameRate();
for(Hand hand : leap.getHands ()){
for(Finger finger : hand.getFingers()){
switch(finger.getType()){
case 0:
fingerPosition[0][0] = finger.getPosition();
break;
case 1:
fingerPosition[1][0] = finger.getPosition();
break;
case 2:
fingerPosition[2][0] = finger.getPosition();
break;
case 3:
fingerPosition[3][0] = finger.getPosition();
break;
case 4:
fingerPosition[4][0] = finger.getPosition();
break;
}
}
}
}
//////////////////////////////////////////
void drawFinger(){
for(int f=0;f<5;f++)
for(int i=9;i>0;i--){
fingerPosition[f][i].x = fingerPosition[f][i-1].x;
fingerPosition[f][i].y = fingerPosition[f][i-1].y;
fingerPosition[f][i].z = fingerPosition[f][i-1].z;
}
for(int f=0;f<5;f++)
for(int i=0;i<9;i++){
strokeWeight(fingerPosition[f][i].z*30/50+1);
stroke(255,0,0,100-i*10);
line(fingerPosition[f][i+1].x,fingerPosition[f][i+1].y,fingerPosition[f][i].x,fingerPosition[f][i].y);
}
}
沒有留言:
張貼留言