2016年9月26日 星期一

Week03

課堂作業一:用P語言製作動態幾何圖

a. 先畫出一個我們要的圖形(一個空心圓+一個實心圓)



b. 設定參數,使實心圓能夠在空心圓上旋轉

程式碼↓↓↓
void  setup(){
  size(400,400);
}
void draw(){
  float a=5*frameCount/180.0*3.1415;
  background(255);
  noFill();ellipse(200,200,40,40);
  fill(0);ellipse(200+20*cos(a),200+20*sin(a),8,8);
}



c. 加入x,y軸 for迴圈,使圓圈數量增加



程式碼↓↓↓
void  setup(){
  size(400,400);
}
void draw(){
  float a=5*frameCount/180.0*3.1415;
  background(255);
  for(int x=0;x<=600;x+=40){
    for(int y=0;y<=600;y+=40){
    noFill();ellipse(x,y,40,40);
    fill(0);ellipse(x+20*cos(a),y+20*sin(a),8,8);
    }
  }
}



d. 試著達到簡斜效果

程式碼↓↓↓
void  setup(){
  size(400,400);
}
void draw(){
  background(255);
  for(int x=0;x<=600;x+=40){
    for(int y=0;y<=600;y+=40){
      float a=5*(frameCount+x/5+y/5)/180.0*3.1415;  // x,y除數越小流線角度越大
    noFill();ellipse(x,y,40,40);
    fill(0);ellipse(x+20*cos(a),y+20*sin(a),8,8);
    }
  }
}



與老師就檔案做比較,差別在於舊檔圓圈跟圓圈之間有空格,圓圈數也較多↓↓↓



e. 我們試著將圓圈先隔開,之後加入多一點圓圈就可以達到效果



課堂作業二: 試著用P語言加入音樂影片

a. 先安裝好載入video的語言函數,再將影片載入



程式碼↓↓↓

import processing.video.*;
Movie movie;
void setup(){
  size(600,500);
  movie = new Movie(this, "PPAP.mp4");
  movie.play();
}
void draw(){
  image(movie, 0,0, 800, 450);
}
void movieEvent(Movie m){
  m.read();
}




期中作品- launchpad
與李耀民一組

沒有留言:

張貼留言