2016年3月24日 星期四

體感互動week5 02160473賴緯漢

1.如何做出很多的 Java 視窗, 而且每一個都能有 void setup() 及 void draw()來做動作
  google: processing create window
  https://forum.processing.org/one/topic/multiple-windows-2-4-2011.html
  樓上的 code 是舊版的, 新版不能直接認識 Frame, 請最前面加上
  import java.awt.Frame;

2.今天要做的是會轉的眼睛


程式碼:
void setup(){
    size(120,100);
}
void draw(){
  float t = frameCount/180.0*PI;//frameCount:影格數
  background(0);
  fill(255);
  ellipse(40,50,33,33);//眼白
  ellipse(120-40,50,33,33);
  fill(0);
  ellipse(40+15*cos(t),50+15*sin(t),5,5);//瞳孔轉轉
  ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}

Processing中有一個東西叫atan2
他可以幫你計算出X,Y座標的位置

所以眼球會跟著鼠標移動(鬥雞眼)


程式碼:
void setup(){
    size(120,100);
}
void draw(){
  //float t = frameCount/180.0*PI;
  background(0);
  fill(255);
  ellipse(40,50,33,33);
  ellipse(120-40,50,33,33);
  fill(0);
  float t=atan2(mouseY-50,mouseX-40);
  ellipse(40+15*cos(t),50+15*sin(t),5,5);
  t=atan2(mouseY-50,mouseX-(120-40));
  ellipse(120-40+15*cos(t),50+15*sin(t),5,5);
}

3.螺旋體藝術(會旋喔)


程式碼:
void setup(){
  size(600,600);
}
void draw(){
  background(255);
  float t = frameCount/100.0;
  for(float f=0 ; f<PI*2 ; f+=0.1){
    rect(200+150*cos(f+t),50+f*100,30,30);
    rect(200+150*cos(f+t+PI),f*100,30,30);
  }
}

沒有留言:

張貼留言