week06-1
//week06-1_ellipse_translate_push_rotate_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();
//
if(mousePressed) rotateZ(radians(frameCount)); //對著中心旋轉
box(100,30,30);
popMatrix();
}
week06-2
//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();
//要按下滑鼠才轉動
if(mousePressed) rotateZ(radians(frameCount)); //對著中心旋轉
translate(-50,0,0); //把棒子往左移一半,讓右端放在正中心
box(100,30,30);
popMatrix();
}
//week06-4_push_TRT_box_pop
//組合機械手臂
void setup(){
size(500,500,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10); //圓球,當中心參考
box(200,50,25); //手肘
fill(252,131,77);
pushMatrix();
translate(x,y);
if(mousePressed) rotateZ(radians(frameCount));
translate(25,0,0);
box(50,25,50); //小手腕
popMatrix();
}
float x=0,y=0; //會動的位置
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x: "+x+" y:"+y); //印出來
}
week06-5
//week06-5_push_T_box_TRT_box_pop_pop
//組合機械手臂
void setup(){
size(500,500,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10); //圓球,當中心參考
fill(252,131,77);
pushMatrix(); //step04 新的一組
translate(x,y);
box(200,50,25); //手肘
pushMatrix(); //step03 程式向右縮排
translate(100,0); //step01 把發現的100,0放好
//if(mousePressed) rotateZ(radians(frameCount));
rotateZ(radians(frameCount)); //step02 一直轉動
translate(25,0,0);
box(50,25,50); //小手腕
popMatrix();
popMatrix(); //step04 新的一組
}
float x=0,y=0; //會動的位置
void mouseDragged(){
x+=mouseX-pmouseX;
y+=mouseY-pmouseY;
println("x: "+x+" y:"+y); //印出來
}
week06-6
//week06-6_push_T_box_TRT_box_push_TRT_box_pop_pop_pop
//組合機械手臂
void setup(){
size(500,500,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);
fill(252,131,77);
pushMatrix(); //step04 push
box(50,200,25); //手臂
pushMatrix();
translate(x,y); //step03 掛到手臂上
if(mousePressed) rotateZ(radians(frameCount)); //step02 旋轉
translate(100,0); //step01 把手肘移動量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); //印出來
}
week06-7
//week06-7_push_RRT_many_TRT_inside_pop
//組合機械手臂
void setup(){
size(500,800,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);
fill(252,131,77);
pushMatrix();
if(mousePressed && mouseButton==RIGHT) rotateY(radians(frameCount)); //step02 又見旋轉
if(mousePressed && mouseButton==RIGHT) rotateZ(radians(frameCount));
translate(0,-100); //step01 向上抬升,到中心
box(50,200,25); //手臂
pushMatrix();
translate(0,-100); //step00 掛到手臂上
//if(mousePressed) //把此行刪掉,讓他一直轉
rotateZ(radians(frameCount));
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); //印出來
}
沒有留言:
張貼留言