2025年3月13日 星期四

12751100 week04

 week04-01_atan_atan2_dy_dx_cos_sin











//week04-01_atan_atan2_dy_dx_cos_sin

void setup(){

    size(600,300);

}

void draw(){

  background(#COFFEE);

  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);

}



void setup(){
  size(600,300);
}
void draw(){
  background(#COFFEE);
  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-03-rotate-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(mouseY));
  ellipse(0,0,100,150);
}














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














//week04-05b-translate-mouseX-mouseY-rotateZ-
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);
    rotateY(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 下載一張地球的圖片
//把圖檔拉到程式裏面
PImage img = loadImage("earth.jpg");
size(600, 300);
image(img, 0, 0, 600, 300);














//week04-10-earth-
//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-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;
void setup(){
  size(400, 400, P3D);
  sun = createShape(SPHERE,50);
  PImage img = loadImage("sun.jpg");
  sun.setTexture(img);
  
  earth = createShape(SPHERE,30);
  img = loadImage("earth.jpg");
  earth.setTexture(img);
  
  moon = createShape(SPHERE,10);
  img = loadImage("moon.jpg");
  moon.setTexture(img);
}
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();
}

沒有留言:

張貼留言