2015年3月9日 星期一

Week03

手模型套上方塊

import de.voidplus.leapmotion.*;
int x;
LeapMotion leap;
void setup()
{
  size(800,600,P3D);
  leap=new LeapMotion(this);
}
void draw()
{
  background(255);
  for(Hand hand:leap.getHands())
  {
    hand.draw();
    PVector pos=hand.getPosition();
    translate(pos.x,pos.y);
    fill(255,0,0);box(100);
  }
}

手指套上球

import de.voidplus.leapmotion.*;
int x;
LeapMotion leap;
void setup()
{
  size(800,600,P3D);
  leap=new LeapMotion(this);
}
void draw()
{
  background(255);
  for(Hand hand:leap.getHands())
  {
    hand.draw();
    myDraw(hand.getPosition());
    myDraw(hand.getThumb().getPosition());
    myDraw(hand.getIndexFinger().getPosition());
    myDraw(hand.getMiddleFinger().getPosition());
    myDraw(hand.getRingFinger().getPosition());
    myDraw(hand.getRingFinger().getPosition());
    myDraw(hand.getPinkyFinger().getPosition());
  }
}
void myDraw(PVector pos)
{
  pushMatrix();
  translate(pos.x,pos.y);
  fill(255,0,0);sphere(20);
  popMatrix();
}
旋轉角度


遙控方塊
 
import de.voidplus.leapmotion.*;
int x;
LeapMotion leap;
void setup()
{
  size(800,600,P3D);
  leap=new LeapMotion(this);
}
void draw()
{
  background(255);
  for(Hand hand:leap.getHands())
  {
    pushMatrix();
    translate(hand.getPosition().x,hand.getPosition().y);
    rotateZ(radians(hand.getPitch()));
    rotateY(-radians(hand.getYaw()));
    //rotateY(hand.getRoll()*0.1);
    //rotateY(hand.getPitch()*0.1);
    stroke(0);fill(255);box(100);
    popMatrix();
   
    hand.draw();
    myDraw(hand.getPosition());
    myDraw(hand.getThumb().getPosition());
    myDraw(hand.getIndexFinger().getPosition());
    myDraw(hand.getMiddleFinger().getPosition());
    myDraw(hand.getRingFinger().getPosition());
    myDraw(hand.getRingFinger().getPosition());
    myDraw(hand.getPinkyFinger().getPosition());
  }
}
void myDraw(PVector pos)
{
  pushMatrix();
  translate(pos.x,pos.y);
  fill(255,0,0);sphere(20);
  popMatrix();
}

簡單的剪刀石頭布


import de.voidplus.leapmotion.*;
LeapMotion leap;
void setup()
{
  size(800,600,P3D);
  leap=new LeapMotion(this);
}
void draw()
{
  background(255);
  fill(255,0,0);
  textSize(40);
  for(Hand hand:leap.getHands())
  {
    if(hand.isRight())
    {
      text("right:"+hand.getOutstrechtedFingers().size(),400,300);
    }
    else
    {
      text("left:"+hand.getOutstrechtedFingers().size(),200,300);
    }
  }
}
剪刀石頭布(完整版)

import de.voidplus.leapmotion.*;
LeapMotion leap;
PImage img0,img2,img5;
void setup()
{
  size(800,600,P3D);
  leap=new LeapMotion(this);
  img0=loadImage("img0.png");
  img2=loadImage("img2.png");
  img5=loadImage("img5.png");
}
void draw()
{
  background(255);
  fill(255,0,0);
  textSize(40);
  for(Hand hand:leap.getHands())
  {
    int n=hand.getOutstrechtedFingers().size();
    if(hand.isRight())
    {
      if(n==0)image(img0,400,300);
      else if(n<=2)image(img2,400,300);
      else image(img5,400,300);
    }
    else
    {
      if(n==0)image(img0,200,300);
      else if(n<=2)image(img2,200,300);
      else image(img5,200,300);
    }
  }
}

沒有留言:

張貼留言