2016年3月3日 星期四

02163042_王冠閔 Week 02

測試環境

接續上禮拜
測試環境




Week02_新進度

用滑鼠畫出 2D Line

將Line跟Background改顏色



示範程式碼:

void setup() {
  size(800, 500);
  background(0);//Background改顏色 (0)為黑色
}

void draw() {
  stroke(#0EE348);將Line改顏色  (#0EE348)為綠色
  line(mouseX, mouseY, pmouseX, pmouseY);//用滑鼠畫出 2D Line
}


將Line 改為漸層Line

示範程式碼:

PVector []  pt = new PVector[10];//
void setup() {
  size(800, 500, P3D);
  for(int i=0; i<10;i++) pt[i] = new PVector(0,0,0);
  
}

void draw() {
  background(0);
  stroke(#0EE348);
  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);
}


將手指畫出來

示範程式碼:

import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector []  pt = new PVector[10];
void setup() {
  size(800, 500, P3D);
  for(int i=0; i<10;i++) pt[i] = new PVector(0,0,0);
  leap = new LeapMotion(this);
}
void draw() {
  background(0);
  stroke(#0EE348);
  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);
}



將五隻手指畫出來

示範程式碼:

import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector [][] pt = new PVector[5][100];
void setup() {
  size(800, 500, 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);
  }
}

沒有留言:

張貼留言