2025年3月31日 星期一

12750272_陳昱瑄,week06

//week06-1-ellipse-translate-push-rotate-box
void setup(){
  size(500,500,P3D);
}
void draw(){
  background(142);
  ellipse(width/2,height/2,200,200);
  
  translate(width/2, height/2);//把東西放到畫面中心
  pushMatrix();//第5週教過的matrix保護
    if(mousePressed)rotateZ(radians(frameCount));//對著下面中心旋轉
    box(100,30,30);//橫的棒子
  popMatrix();//
}



//week06-2-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();//第5週教過的matrix保護
    if(mousePressed)rotateZ(radians(frameCount));//對著下面中心旋轉
    translate(-50,0,0);//把棒子往左移一半 讓右端放在正中心
    box(100,30,30);//橫的棒子
  popMatrix();//
}




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

//week06-4-sphere-box-push-pop
void setup(){
  size(500,400,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-6
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);
      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-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));
    if(mousePressed && mouseButton==RIGHT) rotateZ(radians(frameCount));
    translate(0,100);
    translate(x,y);
    box(50,200,25);
    pushMatrix();
      translate(0,-100);
      //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);
}














沒有留言:

張貼留言