體感互動 Week 02 上課內容
1. 加退選後名單/座位表確認, blog設定
2. 確認 Leap Motion 的 Processing 範例
3. Leap Motion Orion 影片
4. 帶大家看同學們上週blog寫的/想要做的作品,並進行示範教學
部落格連線出問題,改PROXY
位址:proxy.mcu.edu.tw 連接阜:3128
滑鼠劃線程式
size(640,480);
}
void draw(){
line(mouseX,mouseY,pmouseX,pmouseY);
}
改背景色,劃線顏色
void setup(){
size(640,480);
background(0);
}
void draw(){
stroke(63,191,48);
line(mouseX,mouseY,pmouseX,pmouseY);
}
PVector []pt= new PVector[10];
void setup(){
size(640,480,P3D);
for(int i=0;i<10;i++) pt[i]= new PVector(0,0,0);
}
void draw(){
background(0);
stroke(#72FF3B);
for(int i=9;i>0;i--) {pt[i].x=pt[i-1].x;pt[i].y=pt[i-1].y;}
pt[0].x=mouseX;
pt[0].y=mouseY;
for(int i=1;i<10;i++)
line(pt[i].x,pt[i].y,pt[i].z,pt[i-1].x,pt[i-1].y,pt[i-1].z);
}
結合leap motion
import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector []pt= new PVector[10];
void setup(){
size(640,480,P3D);
for(int i=0;i<10;i++) pt[i]= new PVector(0,0,0);
leap=new LeapMotion(this);
}
void draw(){
background(0);
stroke(#72FF3B);
for(int i=9;i>0;i--) {pt[i].x=pt[i-1].x;pt[i].y=pt[i-1].y;}
for(Hand hand : leap.getHands()){
for(Finger finger: hand.getFingers()){
switch(finger.getType()){
case 1:
PVector now =finger.getPosition();
pt[0].x=now.x;
pt[0].y=now.y;
break;
}
}
}
for(int i=1;i<10;i++)
line(pt[i].x,pt[i].y,pt[i].z,pt[i-1].x,pt[i-1].y,pt[i-1].z);
}
leap motion 五指操作
import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector [][]pt= new PVector[5][100];
void setup(){
size(640,480,P3D);
for(int f=0;f<5;f++){
for(int i=0;i<100;i++) pt[f][i]= new PVector(0,0,0);
}
leap=new LeapMotion(this);
colorMode(HSB,100);
}
void draw(){
background(0);
for(int f=0;f<5;f++){
for(int i=99;i>0;i--) {pt[f][i].x=pt[f][i-1].x;pt[f][i].y=pt[f][i-1].y;}
}
for(Hand hand : leap.getHands()){
for(Finger finger: hand.getFingers()){
int f=finger.getType();
PVector now =finger.getPosition();
pt[f][0].x=now.x;
pt[f][0].y=now.y;
}
}
for(int f=0;f<5;f++){
stroke(f*20,100,100);
for(int i=1;i<100;i++)
line(pt[f][i].x,pt[f][i].y,pt[f][i].z,pt[f][i-1].x,pt[f][i-1].y,pt[f][i-1].z);
}
}






沒有留言:
張貼留言