2025年3月27日 星期四

12750300_week06

 課堂作業一

void setup(){

  size(500,500,P3D);

}

void draw(){

  background(142);

  ellipse(width/2,height/2,200,200);

  translate(width/2,height/2);//把東西到畫面中間

  pushMatrix();//第五週教過的Matrix保護

    if(mousePressed) rotateZ(radians(frameCount));//對著下面中心旋轉

    box(100,30,30);//橫的棒子

  popMatrix();//第五週教過的Matrix保護

}




課堂作業二


//再加一個移動,把物體放到轉盤的中心

void setup(){

  size(500,500,P3D);

}

void draw(){

  background(142);

  ellipse(width/2,height/2,200,200);

  translate(width/2,height/2);//把東西到畫面中間

  pushMatrix();//第五週教過的Matrix保護

    if(mousePressed) rotateZ(radians(frameCount));//對著下面中心旋轉

    translate(-50,0,0);//把棒子往左移一半,讓右端放在政中心

    box(100,30,30);//橫的棒子

  popMatrix();//第五週教過的Matrix保護

}




課堂作業三

void setup(){

  size(500,500,P3D);

}

void draw(){

  background(142);

  ellipse(width/2,height/2,200,200);

  translate(width/2,height/2);//把東西到畫面中間

  pushMatrix();//第五週教過的Matrix保護

    translate(x,y);

    if(mousePressed && mouseButton==RIGHT){

      rotateZ(radians(frameCount));//對著下面中心旋轉

    }

    translate(-50,0,0);//把棒子往左移一半,讓右端放在政中心

    box(100,30,30);//橫的棒子

  popMatrix();//第五週教過的Matrix保護

}

float x=0,y=0;

void mouseDragged(){

  x+=mouseX-pmouseX;

  y+=mouseY-pmouseY;

}




課堂作業四


void setup(){

  size(500,400,P3D);

}

void draw(){

  background(255);//Step00

  translate(width/2,height/2);//Step00

  sphere(10);//Step04放個圓球當作中心的參考

  

  box(200,50,25);//step05手肘

  

  fill(252,131,77);

  pushMatrix();

    translate(x,y);//step06 發現放100,0 

    if(mousePressed) rotateZ(radians(frameCount));

    translate(25,0,0);//Step02

    box(50,25,50);//Step01 小手腕

  popMatrix();//Step03

}

float x=0,y=0;//step06會動的位置

void mouseDragged(){//step06

  x+=mouseX-pmouseX;

  y+=mouseY-pmouseY;

  println("x:"+x+"y:"+y);//step07 印出來

}






課堂作業五


//慢慢組出機械手臂

void setup(){

  size(500,400,P3D);

}

void draw(){

  background(255);

  translate(width/2,height/2);

  sphere(10);

  

  fill(252,131,77);

  

  pushMatrix();//step04新的一組

    translate(x,y);//step05新的轉動

    //step03把程式碼往右縮排

    box(200,50,25);//手肘

      

    pushMatrix();

      translate(100,0);//step01 發現放100,0 

      //if(mousePressed)//把剛剛的if(mousePressed)刪掉

      rotateZ(radians(frameCount));//step02只轉動

      translate(25,0,0);//往右推,讓左端放中心

      box(50,25,50);//小手腕

    popMatrix();

    //step03把程式碼往右縮排

  popMatrix();//step04新的一組

}

float x=0,y=0;

void mouseDragged(){

  x+=mouseX-pmouseX;

  y+=mouseY-pmouseY;

  println("x:"+x+"y:"+y);//step07 印出來

}




課堂作業六


//慢慢組出機械手臂

void setup(){

  size(500,400,P3D);

}

void draw(){

  background(255);

  translate(width/2,height/2);

  sphere(10);

  

  fill(252,131,77);

  pushMatrix();

  //Step05 裡面要往右縮排

    box(50,200,25);//Step03 手臂

    pushMatrix();

      translate(x,y);//Step03 掛到手臂上面,觀察到0,-100

      if(mousePressed) rotateZ(radians(frameCount));//Step02 把旋轉放入

      translate(100,0);//Step01把手肘移動量100,0放入

      box(200,50,25);//手肘

        

      pushMatrix();

        translate(100,0);

        rotateZ(radians(frameCount));

        translate(25,0,0);//往右推,讓左端放中心

        box(50,25,50);//小手腕

      popMatrix();

    popMatrix();

  popMatrix();//Step04 pop

}

float x=0,y=0;

void mouseDragged(){

  x+=mouseX-pmouseX;

  y+=mouseY-pmouseY;

  println("x:"+x+"y:"+y);

}









課堂作業七


//慢慢組出機械手臂

void setup(){

  size(500,800,P3D);//Step00 把視窗變長

}

void draw(){

  background(255);

  translate(width/2,height/2);

  sphere(10);

  

  fill(252,131,77);

  pushMatrix();

    if(mousePressed && mouseButton==RIGHT) rotateZ(radians(frameCount));//Step02

    if(mousePressed && mouseButton==RIGHT) rotateY(radians(frameCount));

    translate(0,-100);//Step01 要往上抬升0,-100,到中心

    box(50,200,25);//手臂

    pushMatrix();

      translate(0,-100);//Step00 掛到手臂上面,觀察到0,-100

      //if(mousePressed) //Step00 把剛剛的if(mousePressed)刪掉

      rotateZ(radians(frameCount));

      translate(100,0);

      box(200,50,25);//手肘

        

      pushMatrix();

        translate(100,0);

        rotateZ(radians(frameCount));

        translate(25,0,0);

        box(50,25,50);//小手腕

      popMatrix();

    popMatrix();

  popMatrix();

}

float x=0,y=0;

void mouseDragged(){

  x+=mouseX-pmouseX;

  y+=mouseY-pmouseY;

  println("x:"+x+"y:"+y);

}





沒有留言:

張貼留言