2025年3月13日 星期四

week04-12750192

 //week04_01_atan2_dy_dx_cos_sin

void setup(){

   size(600,300);

}

void draw(){

   background(#C0FFEE); 

   ellipse(150,150,100,100);//big eyes

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

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

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

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

}







//week04_02_for_x_dx_dy_cos_sin
void setup(){
   size(600,300); 
}
void draw(){
   background(#C0FFEE); 
   for(int x=150;x<=450;x+=300){     //迴圈做出兩個 
     ellipse(x,150,100,100);
     float dx=mouseX-x,dy=mouseY-150;
     float a =atan2(dy,dx);
     ellipse(x+cos(a)*25,150+sin(a)*25,50,50);   
   }
 }




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


//week04_04_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_05_RobotArm_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_05a_rotateZ_translate_box
void setup(){
   size(400,400,P3D); 
}
void draw(){
   background(128);
   translate(width/2,height/2);//移動畫面中心
   
   //以下兩行分別註解、排列組合觀察
   rotateZ(radians(frameCount));//對Z軸旋轉
   //translate(0,-50);//把下端移動到中心
   box(10,100,10);//可移動的長條
}

//week04_05b_translate_mouseX_mouseY_rotateZ_translate_box
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_06_push_translate_rotate_sphere_pop
void setup(){
  size(400,400,P3D);
}
void draw(){
  background(128);
  pushMatrix();
    translate(mouseX,mouseY);
    rotate(radians(frameCount));
    sphere(100);
  popMatrix();
}


void setup(){
  size(400,400,P3D);
}
void draw(){
  background(128);
  translate(width/2,height/2);
  sphere(50);
  rotateY(radians(frameCount));
  pushMatrix();
    translate(150,0);
    rotate(radians(frameCount));
    sphere(30);
  popMatrix();
}

//week04_08_sun_earth_moon
void setup(){
  size(400,400,P3D);
}
void draw(){
  background(128);
  translate(width/2,height/2);
  sphere(50);//sun
  rotateY(radians(frameCount));
  pushMatrix();
    translate(150,0);
    rotate(radians(frameCount));
    sphere(30);//earth
    pushMatrix();
      translate(50,0);
      rotateY(radians(frameCount));
      sphere(10);//moon
    popMatrix();
  popMatrix();
}



//week_09_earth_texture
PImage img =loadImage("earth.jpg");
size(600,300);
image(img,0,0,600,300);






//week04_10_earth_createShape_setTexture_shape
//google : processing sphere textrue
size(400,400,P3D);
PShape earth=createShape(SPHERE,100);
PImage img=loadImage("earth.jpg");
earth.setTexture(img);
shape(earth);



//week04_11_earth_setTexture_translate_rotate
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_12_moon_setTexture_translate_rotate
PShape moon;
void setup(){
   size(400,400,P3D);
   moon=createShape(SPHERE,100);
   PImage img =loadImage("moon.jpg");
   moon.setTexture(img);
}
void draw(){
   background(0);
   translate(width/2,height/2);
   rotateY(radians(frameCount));
   shape(moon);
}


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




//week04_14_sun_earth_moon_setTexture
PShape sun,earth,moon;
//from week04_8 and week04_11,12,13
void setup(){
 size(400,400,P3D);
 earth=createShape(SPHERE,30);
 PImage img =loadImage("earth.jpg");
 earth.setTexture(img);
 
 sun=createShape(SPHERE,50);
 img =loadImage("sun.jpg");
 sun.setTexture(img);
 
 moon=createShape(SPHERE,10);
 img =loadImage("moon.jpg");
 moon.setTexture(img);
 
}
void draw(){
  background(128);
  translate(width/2,height/2);
  shape(sun);//sun
  rotateY(radians(frameCount));
  pushMatrix();
    translate(150,0);
    rotateY(radians(frameCount));
    shape(earth);//earth
    pushMatrix();
      translate(50,0);
      rotateY(radians(frameCount));
      shape(moon);//moon
    popMatrix();
  popMatrix();
}


























沒有留言:

張貼留言