//week04-1-atan2-dy-dx-cos-sin
void setup(){
size(600,300);
}
void draw(){
background(#C0FFEE); //粉清咖啡
,是零不是o
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);
}
//week04-1-atan2-dy-dx-cos-sin
void setup(){
size(600,300);
}
void draw(){
background(#C0FFEE); //粉清咖啡
,是零不是o
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-3-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-4-rotateZ
void setup(){
size(400,400,P3D);
}
void draw(){
background(128);
translate(width/2,height/2);
//rotateY(radians(mouseX));//上週的左右轉
rotateZ(radians(mouseY));//本週的上下轉
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();
}
//week40-5a-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);//可轉動的長條
}
//week04-6-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-7
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-09-earth-texture
//google: earth map teture 下載一張地球地圖
//把圖檔拉到程式裡
PImage
img=loadImage("earth.jpg");
size(600,300);
image(img,0,0,600,300);
//week04-10
size(400,400,P3D);
PShape earth=createShape(SPHERE,100);
PImage img=loadImage("earth.jpg");
earth.setTexture(img);
shape(earth);
//week04-11
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
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
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;
//樓下,剪貼至week04-8,樓上是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();
}
沒有留言:
張貼留言