2025年3月13日 星期四

week04_呱

 week04-1


//week04-01_atan_dy_dx_cos_sin

void setup(){

   size(600,300); 

}

void draw(){

   background(#C0FFEE);

   ellipse(150,150,100,100); //大眼睛

   //ellipse(150+25,150,50,50);

   float dx=mouseX-150,dy=mouseY-150;

   float a=atan2(dy,dx); //算出角度

   ellipse(150+cos(a)*25,150+sin(a)*25,50,50);

}



week04-2

//week04-2_atan2_for_x_dy_dx_cos_sin
void setup(){
   size(600,300); 
}
void draw(){
   background(#C0FFEE);
   for(int x=150;x<=450;x+=300){
     ellipse(x,150,100,100); //大眼睛
     //ellipse(150+25,150,50,50);
     float dx=mouseX-x,dy=mouseY-150;
     float a=atan2(dy,dx); //算出角度
     ellipse(x+cos(a)*25,150+sin(a)*25,50,50);
   }
}




week04-3

//week04-3_rotate
void setup(){
   size(400,400,P3D); 
}
void draw(){
  background(128);
  translate(width/2,height/2);
  //rotateY(radians(mouseX)); //上周的左右轉
  rotateX(radians(-mouseY)); //本周的上下轉
  box(200);
}





week04-4

//week04-4_rotateZ
void setup(){
   size(400,400,P3D); 
}
void draw(){
  background(128);
  translate(width/2,height/2);
  rotateZ(radians(mouseX));
  ellipse(0,0,100,150);
}



week04-5

//week04-5_robot_arm_pushMatrix_T_R_T_box_popMatrix
void setup(){
   size(400,400,P3D); 
}
void draw(){
   background(128);
   translate(width/2,height/2);
   pushMatrix();
     translate(0,100);
     box(50);
     pushMatrix();
       translate(0,-25);
       rotateZ(radians(mouseX));
       translate(0,-50);
       box(10,100,10);
     popMatrix();
   popMatrix();
}




week04-5a

//week04-5a
void setup(){
   size(400,400,P3D); 
}
void draw(){
   background(128);
   translate(width/2,height/2); //移到畫面中心
       //把以下2行分別註解,觀察
       rotateZ(radians(frameCount)); //對Z軸旋轉
       translate(0,-50); //把下端移到中心
       box(10,100,10);
}



week04-5b

//week04-5b
void setup(){
   size(400,400,P3D); 
}
void draw(){
   background(128);
   //translate(width/2,height/2); //移到畫面中心
       
       translate(mouseX,mouseY);
       rotateZ(radians(frameCount)); //對Z軸旋轉
       translate(0,-50); //把下端移到中心
       box(10,100,10);
}




week04-6

//week04-6_push_translate_rotate_sphere_pop
void setup(){
   size(400,400,P3D); 
}
void draw(){
    background(128);
    pushMatrix();
      translate(mouseX,mouseY);
      rotateY(radians(frameCount));
      sphere(100);
    popMatrix();
}



week04-7

//week04-7_sun_earth
void setup(){
   size(400,400,P3D); 
}
void draw(){
    background(128);
    translate(width/2,height/2);
    sphere(50); //太陽
    rotateY(radians(frameCount));
    pushMatrix();
      translate(150,0);
      rotateY(radians(frameCount));
      sphere(30); //地球
    popMatrix();
}



week04-8

//week04-8_sun_earth_moon
void setup(){
   size(400,400,P3D); 
}
void draw(){
    background(128);
    translate(width/2,height/2);
    sphere(50); //太陽
    rotateY(radians(frameCount));
    pushMatrix();
      translate(150,0);
      rotateY(radians(frameCount));
      sphere(30); //地球
      pushMatrix();
        translate(50,0);
        rotateY(radians(frameCount));
        sphere(10); //月亮
      popMatrix();
    popMatrix();
}


week04-9

//week04-9_earth_texture
PImage img = loadImage("earth.jpg");
size(600,300);
image(img,0,0,600,300);


week04-10

//week04-10_earth_createShape_setTexture_shape
size(400,400,P3D);
PShape earth=createShape(SPHERE,100);
PImage img=loadImage("earth.jpg");
earth.setTexture(img);
shape(earth);


week04-11

//week04-11_earth
PShape earth;
void setup(){
   size(400,400,P3D);
   earth=createShape(SPHERE,100);
   PImage img=loadImage("earth.jpg");
   earth.setTexture(img);
}
void draw(){
   background(0);
   translate(width/2,height/2);
   rotateY(radians(frameCount));
   shape(earth);
}



week04-14

//week04-14_sun_earth_moon_setTexture
PShape sun,earth,moon;
//樓下剪貼自week04-8,樓上是week11,12,13
void setup(){
   size(400,400,P3D); 
   sun=createShape(SPHERE,50);
   PImage img=loadImage("sun.jpg");
   sun.setTexture(img);
   
   moon=createShape(SPHERE,30);
   img=loadImage("earth.jpg");
   moon.setTexture(img);
   
   earth=createShape(SPHERE,10);
   img=loadImage("moon.jpg");
   earth.setTexture(img);
}
void draw(){
    background(128);
    translate(width/2,height/2);
    shape(sun);//sphere(50); //太陽
    rotateY(radians(frameCount));
    pushMatrix();
      translate(150,0);
      rotateY(radians(frameCount));
      shape(earth);//sphere(30); //地球
      pushMatrix();
        translate(50,0);
        rotateY(radians(frameCount));
        shape(moon);//sphere(10); //月亮
      popMatrix();
    popMatrix();
}




沒有留言:

張貼留言