2025年3月27日 星期四

傅士源的...12753096 week06

//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_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_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_sphere_box_push
//慢慢組合出機器手臂
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();//Step03
    translate(x,y);//Step06發現放100,0很好
    if(mousePressed)rotateZ(radians(frameCount));//Step03
    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印出來
}
//week06_5_push_T_R_T_box_pop_pop
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);//Step05手肘
  
  
    pushMatrix();//Step03把程式往右縮排
      translate(100,0);//Step01發現放100,0很好
      //if(mousePressed)//Step02把剛剛的 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);
}

//week06_5_push_box_push_TRT_boxpush_pop_pop
void setup(){
  size(500,400,P3D);
}
void draw(){
  background(255);
  translate(width/2,height/2);
  sphere(10);
  fill(252,131,77);
  pushMatrix();
    box(50,200,25);
    pushMatrix();
      translate(x,y);
      if(mousePressed)rotateZ(radians(frameCount));
      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);
}








沒有留言:

張貼留言