2025年3月13日 星期四

傅士源的..._12753096week04

 //week04_01_atan2_dy_dx_cos_sin

void setup(){
  size(600,300);
}
void draw(){
  background(#C0FFEE);
  ellipse(150,150,100,100);
  float dx=mouseX-150,dy=mouseY-150;
  float a=atan2(dy,dx);
  ellipse(150+cos(a)*25,150+sin(a)*25,50,50);
  //ellipse(150+25,150,100,100);
}

//week04_02_atan2_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);
  }
  //ellipse(150+25,150,100,100);
}
//week04_03_rotateX_randians_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);
}

//week40_05_robot_arm_
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_tanslate_box
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_tanslate_mouseX__mouseY_rotateZ_t
void setup(){
  size(400,400,P3D);
}
void draw(){
  background(128);
  translate(mouseX,mouseY);//移到畫面中心
  //以下2行分別註解、排列組合觀察
    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();
}

//week04_07_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_08_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_09_earth_texture_image
//google: earth map texture 下載1張地球的地圖 earth
// 把圖檔拉到程式裡面
PImage img=loadImage("earth.jpg");
size (600,300);
image(img,0,0,600,300);




//week04_10_earth_createShape_setTexture_image
//google:processing sphere texture 可找到程式
//把圖檔拉到程式裡面
size(400,400,P3D);
PShape earth=createShape(SPHERE,100);
PImage img=loadImage("earth.jpg");
earth.setTexture(img);
shape(earth);

//week04_11_earth_setTexture_translate_rotaste
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);
  rotate(radians(frameCount));
  shape(earth);
}


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

//week04_13_sun_setTexture_translate_rotaste
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);
}

沒有留言:

張貼留言