//week06-1
//有點模仿地4周的程式
void setup(){
size(500,500,P3D);
}
void draw(){
background(142);
ellipse(width/2,height/2,200,200);
translate(width/2,height/2);//把畫面放到中心
pushMatrix();//第5周教過的matrix保護
if(mousePressed)rotateZ(radians(frameCount));
//rotate(radians(frameCount));//對著下面中心旋轉
box(100,30,30);
popMatrix();
}
//week06-2_ellipse_translate_push_rotate_translate_box_pop
//再加一個移動,把物體放到轉盤的中心
void setup(){
size(500,500,P3D);
}
void draw(){
background(142);
ellipse(width/2,height/2,200,200);
translate(width/2,height/2);//把畫面放到中心
pushMatrix();//第5周教過的matrix保護
if(mousePressed)rotateZ(radians(frameCount));
translate(-50,0,0);//把棒子往左移一半,讓右端放在正中心
box(100,30,30);
popMatrix();
}
//week06-3
//再加一個移動,把物體放到轉盤的中心
void setup(){
size(500,500,P3D);
}
void draw(){
background(142);
ellipse(width/2,height/2,200,200);
translate(width/2,height/2);//把畫面放到中心
pushMatrix();//第5周教過的matrix保護
translate(x,y);
if(mousePressed&&mouseButton==RIGHT){
rotateZ(radians(frameCount));
}
translate(-50,0,0);//把棒子往左移一半,讓右端放在正中心
box(100,30,30);
popMatrix();
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
}
//week06-4_sphere_box_push_T_R_T_box_pop
//慢慢組合出機器手臂
void setup(){
size(500,400,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);//step04
box(200,50,25);//step05手肘
fill(252,131,77);
pushMatrix();//step03
translate(x,y);//step06 發現放100,0的地方
if(mousePressed)rotateZ(radians(frameCount));
translate(25,0,0);//step02 往右推,讓左端放中心
box(50,25,50);//step01 小手腕
popMatrix();
}
float x=0,y=0;//step06
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x:"+x+"y"+y);//step07印出來
}
//week06-5_push_T_box_push_T_R_T_box_pop_pop
//慢慢組合出機器手臂
void setup(){
size(500,400,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
fill(252,131,77);
sphere(10);
fill(252,131,77);
pushMatrix();//step04新的一組
translate(x,y);//step05新的轉動
//step03把程式往右縮排
box(200,50,25);//手肘
pushMatrix();
translate(100,0);//step01把前一步發現的100,0放好
//if(mousePressed)
rotateZ(radians(frameCount));//step02只轉動
translate(25,0,0);//往右推,讓左端放中心
box(50,25,50);//小手腕
popMatrix();
popMatrix();
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x:"+x+"y:"+y);
}
//week06-6
//慢慢組合出機器手臂
void setup(){
size(500,400,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);
fill(252,131,77);
pushMatrix();
box(50,200,25);//step03手臂
pushMatrix();
translate(x,y);//step03掛到手臂上
if(mousePressed)rotateZ(radians(frameCount));//step02 把旋轉放入
translate(100,0);//step01 把手肘的移動量0-100
box(200,50,25);//手肘
pushMatrix();
translate(100,0);
rotateZ(radians(frameCount));
translate(25,0,0);
box(50,25,50);//小手腕
popMatrix();
popMatrix();
popMatrix();
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x:"+x+"y:"+y);
}
//week06-7
//慢慢組合出機器手臂
void setup(){
size(500,800,P3D);//step00:把視窗變長一點
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);
fill(252,131,77);
pushMatrix();
if(mousePressed&&mouseButton==RIGHT)rotateZ(radians(frameCount));//step03按右鍵旋轉
if(mousePressed&&mouseButton==RIGHT)rotateZ(radians(frameCount));//step02按右鍵旋轉
translate(x,y);//step01:要往上抬升到中心
box(50,200,25);
pushMatrix();
translate(0,-100);//step00
//if(mousePressed)
rotateZ(radians(frameCount));//step00讓他一直轉
translate(100,0);
box(200,50,25);//手肘
pushMatrix();
translate(100,0);
rotateZ(radians(frameCount));
translate(25,0,0);
box(50,25,50);//小手腕
popMatrix();
popMatrix();
popMatrix();
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x:"+x+"y:"+y);
}
沒有留言:
張貼留言