其中作品程式碼
import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector leftTool_position, rightTool_position;
PImage imgB, imgH, imgD, back;
float angleH, angleD;
float[] px = new float[10];
void setup()
{
size(800, 560, P3D);
leap = new LeapMotion(this);
imageMode(CENTER);
imgB = loadImage("up.png");
imgH = loadImage("pair.png");
imgD = loadImage("down.png");
back = loadImage("back1.jpg");
}
void draw()
{
background(back);
int fps = leap.getFrameRate();
for (Hand hand : leap.getHands())
{
Tool leftTool = hand.getLeftTool();
leftTool_position = leftTool.getPosition();
Tool rightTool = hand.getRightTool();
rightTool_position = rightTool.getPosition();
angleH = atan((rightTool_position.y-leftTool_position.y)/(rightTool_position.x-leftTool_position.x))*180/PI;
for (int i=8;i>=0;i--)//update stack
px[i+1]=px[i];
px[0]=leftTool_position.x;
pushMatrix();//up
translate(leftTool_position.x, leftTool_position.y);
image(imgB, 0, 0);
pushMatrix();//hand
translate(0, 0);
rotate(radians(angleH-90));
translate(58, 58.5);
image(imgH, 0, 0);
popMatrix();
pushMatrix();//down
translate(-5, 90);
if (px[9]!=0)
angleD = atan((leftTool_position.x-px[9])/(leftTool_position.y-leftTool_position.y+280))*180/PI;
rotate(radians(angleD*1.5));
translate(-14, 75);
image(imgD, 0, 0);
popMatrix();
popMatrix();
}
if (keyPressed)
{
if (key == 'q' || key == 'Q')
{
back = loadImage("back1.jpg");
}
if (key == 'w' || key == 'W')
{
back = loadImage("back2.jpg");
}
if (key == 'a' || key == 'A')
{
imgB = loadImage("up.png");
imgH = loadImage("pair.png");
imgD = loadImage("down.png");
}
if (key == 's' || key == 'S')
{
imgB = loadImage("up2.png");
imgH = loadImage("pair2.png");
imgD = loadImage("down2.png");
}
}
}
void leapOnInit() {
// println("Leap Motion Init");
}
void leapOnConnect() {
// println("Leap Motion Connect");
}
void leapOnFrame() {
// println("Leap Motion Frame");
}
void leapOnDisconnect() {
// println("Leap Motion Disconnect");
}
void leapOnExit() {
// println("Leap Motion Exit");
}
沒有留言:
張貼留言