2025年3月27日 星期四

week06_呱

week06-1 

//week06-1_ellipse_translate_push_rotate_box_pop

void setup(){

   size(500,500,P3D); 

}

void draw(){

   background(142);

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

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

   pushMatrix();

     //

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

     box(100,30,30);

   popMatrix();

}



week06-2

//week06-2_ellipse_translate_push_rotate_translate_box_pop

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

void setup(){

   size(500,500,P3D); 

}

void draw(){

   background(142);

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

   

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

   pushMatrix();

     //要按下滑鼠才轉動

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

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

     box(100,30,30);

   popMatrix();

}


week06-3

//week06-3_push_translate_rotate_translate_box_pop

void setup(){
   size(500,500,P3D); 
}
void draw(){
   background(142);
   ellipse(width/2,height/2,200,200);
   
   translate(width/2,height/2); //把東西放到畫面中心
   pushMatrix();
     //要按下滑鼠才轉動
     translate(x,y);
     if(mousePressed && mouseButton==RIGHT) {
       rotateZ(radians(frameCount)); //對著中心旋轉
     }
     translate(-50,0,0); //把棒子往左移一半,讓右端放在正中心
     box(100,30,30);
   popMatrix();
}
float x=0,y=0;
void mouseDragged(){
   x+=mouseX-pmouseX;
   y+=mouseY-pmouseY;
}




week06-4

//week06-4_push_TRT_box_pop

//組合機械手臂

void setup(){

   size(500,500,P3D); 

}

void draw(){

   background(255);

   translate(width/2,height/2);

   sphere(10); //圓球,當中心參考

   

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

   

   fill(252,131,77);

   pushMatrix();

     translate(x,y);

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

     translate(25,0,0);

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

   popMatrix();

}

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

void mouseDragged(){

   x+=mouseX-pmouseX;

   y+=mouseY-pmouseY;

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

}




week06-5

//week06-5_push_T_box_TRT_box_pop_pop

//組合機械手臂

void setup(){

   size(500,500,P3D); 

}

void draw(){

   background(255);

   translate(width/2,height/2);

   sphere(10); //圓球,當中心參考

   

   

   fill(252,131,77);

   pushMatrix(); //step04 新的一組

     translate(x,y);

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

     pushMatrix(); //step03 程式向右縮排

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

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

       rotateZ(radians(frameCount)); //step02 一直轉動

       translate(25,0,0);

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

     popMatrix();

   popMatrix(); //step04 新的一組

}

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

void mouseDragged(){

   x+=mouseX-pmouseX;

   y+=mouseY-pmouseY;

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

}



week06-6

//week06-6_push_T_box_TRT_box_push_TRT_box_pop_pop_pop

//組合機械手臂

void setup(){

   size(500,500,P3D); 

}

void draw(){

   background(255);

   translate(width/2,height/2);

   sphere(10); 

   

   fill(252,131,77);

   pushMatrix(); //step04 push

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

     pushMatrix();

       translate(x,y); //step03 掛到手臂上

       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();

}

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

void mouseDragged(){

   x+=mouseX-pmouseX;

   y+=mouseY-pmouseY;

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

}


week06-7

//week06-7_push_RRT_many_TRT_inside_pop

//組合機械手臂

void setup(){

   size(500,800,P3D); 

}

void draw(){

   background(255);

   translate(width/2,height/2);

   sphere(10); 

   

   fill(252,131,77);

   pushMatrix();

     if(mousePressed && mouseButton==RIGHT) rotateY(radians(frameCount)); //step02 又見旋轉

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

     translate(0,-100); //step01 向上抬升,到中心

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

     pushMatrix();

       translate(0,-100); //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); //印出來

}




沒有留言:

張貼留言