2025年3月13日 星期四

12750245_黃品燕_week04

課堂作業1:

 //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,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){//迴圈,做出2個

    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,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_translae_box

void setup(){

  size(400,400,P3D);

}

void draw(){

  background(128);

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

  

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

    rotateZ(radians(frameCount));//對軸旋轉

    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));//對軸旋轉

    translate(0,-50);//把下端,移到中心

    box(10,100,10);//可轉動的長條

}

課堂作業6:

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

}



課堂作業7:

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

}

課堂作業8:

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

}


課堂作業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_111,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();

}



沒有留言:

張貼留言