2025年3月13日 星期四

...week04

 

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

}

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

  }

}

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

  //rotateY(radians(mouseX)); // 上週的左右轉

  rotateZ(radians(-mouseX)); // 本週的上下轉

  ellipse(0, 0, 100, 150);

}


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_05a_rotateZ_translate_box

void setup(){

  size(400, 400, P3D);

}

void draw(){

  background(128);

  translate(width/2, height/2); // 移到畫面中心

  

    //以下兩行,分別註解、排列組合觀察

    rotateZ(radians(mouseX)); // 對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(mouseX)); // 對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

PImage img = loadImage("earth.jpg");

size(600, 300);

image(img, 0, 0, 600, 300);

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

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

}





沒有留言:

張貼留言