2016年11月24日 星期四

Week 11 ლ(゚д゚ლ) 張書豪 60408029E 大豪豪der上課筆記

20161124 教學軟體設計

本日心得:

今天的課程充滿互動,互動性極高,雖然前幾次上課也都富有互動性,但今天可以設計一些多媒體互動的雛型,覺得很棒很特別,看著老師開著直播,完全是沒有稿的直接上場,就劈哩啪啦的打了一堆程式碼,真的很顛覆以往我對於寫程式的老師之刻板印象,因為過往老師寫程式都是用說的,喔~這個很簡單R! 就!@#$%^^*%$%$# 弄一弄就好了R! 原來程式這麼簡單... XDD 但是葉老師有別於我遇到的老師,是一個言出必行,親力親為的老師,真的超狂! 這難道揪4寫程式!!!  

沒有自動替代文字。



投影藝術:餐桌上的小廚師
享用餐點之前的數位媒體應用

程式功能是要實作能夠在餐桌上拖曳盤子

PVector [] dish=new PVector[4];

void setup(){
  size(640,480);
  dish[0] = new PVector(100,100);
  dish[1] = new PVector(540,100);
  dish[2] = new PVector(100,380);
  dish[3] = new PVector(540,380);
}

void draw(){
  background(255);
  ellipse(320,240,400,400);
  ellipse(100,100,100,100);
  ellipse(540,100,100,100);
  ellipse(100,380,100,100);
  ellipse(540,380,100,100);
  for(int i=0;i<4;i++){
    ellipse(dish[i].x,dish[i].y,90,90);
  }
}
int nowDish = -1;
void mousePressed(){
  for(int i=0;i<4;i++){
    if( dist(dish[i].x,dish[i].y,mouseX,mouseY) < 45){
      nowDish = i;
    }
  }
}
void mouseDragged(){
  if (nowDish!=-1){
    dish[nowDish].x=mouseX;
    dish[nowDish].y=mouseY;
  }
}
void mouseReleased(){
  nowDish = -1;
}


------------------------------------------------------------------------------------
PVector [] dish=new PVector[4];
float [] r = {0,0,0,0};
float [] angle = {0,0,0,0};

void setup(){
  size(640,480);
  dish[0] = new PVector(100,100);
  dish[1] = new PVector(540,100);
  dish[2] = new PVector(100,380);
  dish[3] = new PVector(540,380);
}

void draw(){
  background(255);
  ellipse(320,240,400,400);
  ellipse(100,100,100,100);
  ellipse(540,100,100,100);
  ellipse(100,380,100,100);
  ellipse(540,380,100,100);
  for(int i=0;i<4;i++){
    ellipse(dish[i].x,dish[i].y,90,90);
    line(dish[i].x, dish[i].y, 320,240);
  }

  if(keyPressed){
    for(int i=0;i<4;i++){
    angle[i] -= 0.01;
    dish[i].x= r[i] * cos(angle[i]) + 320;
    dish[i].y= r[i] * sin(angle[i]) + 240;
    //angle[i] += 0.01;
    //dish[i].x= r[i] * cos(angle[i]);
    //dish[i].y= r[i] * sin(angle[i]);
    }
  }
}
int nowDish = -1;
void mousePressed(){
  for(int i=0;i<4;i++){
    if( dist(dish[i].x,dish[i].y,mouseX,mouseY) < 45){
      nowDish = i;
    }
  }
}
void mouseDragged(){
  if (nowDish!=-1){
    dish[nowDish].x=mouseX;
    dish[nowDish].y=mouseY;
    r[nowDish] = sqrt( (mouseX-320)*(mouseX-320) + (mouseY-240)*(mouseY-240) );
    angle[nowDish] = atan2(mouseY-240, mouseX-320);
  }
}
void mouseReleased(){
  nowDish = -1;
}

---------------------------------------------------------------------------------------

沒有留言:

張貼留言