2025年6月5日 星期四

12750042_week04

  課堂作業1

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

}

課堂作業2

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

  }

}

課堂作業3

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

}

課堂作業4

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

}

課堂作業5

//week04_05_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();

}

課堂作業5a
//week04_05a_rotateZ_translate_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); //可移動的長條
}
課堂作業5b
//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); //可移動的長條
}
課堂作業6
//week04_06_push_translate_rotate_sphere_pop
void setup(){
  size(400,400,P3D);
  sphere(100);
}
void draw(){
  background(128);
  pushMatrix();
    translate(mouseX,mouseY);
    rotateY(radians(frameCount));
    sphere(100);
  popMatrix();
}
課堂作業7
//week04_07_sun_earth
void setup(){
  size(400,400,P3D);
  sphere(100);
}
void draw(){
  background(128);
  translate(width/2, height/2);
  sphere(50); //太陽
  rotateY(radians(frameCount));
  pushMatrix();
    translate(150,0);
    rotateY(radians(frameCount));
    sphere(30); //地球
  popMatrix();
}
課堂作業8
//week04_08_sun_earth_moon
void setup(){
  size(400,400,P3D);
  sphere(100);
}
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();
}
課堂作業9
//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);
課堂作業10
//week04_10_earth_createShape_setTexture_shape
//google: processing sphere texture 可找到程式
size(400,400,P3D);
PShape earth = createShape(SPHERE,100);
PImage img = loadImage("earth.jpg");
earth.setTexture(img);
shape(earth);
課堂作業11
//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);
}
課堂作業12
//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);
}
課堂作業13
//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);
}
課堂作業14
//week04_14_sun_earth_moon_setTexture
PShape sun,earth,moon;
//樓下,剪貼自week04_08,樓上,week04_11,12,13
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);
  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();
}

沒有留言:

張貼留言