課堂作業1:
//week06_1_ellipse_translate_push_rotate_box_pop
//有點模仿第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保護
//改一下,要按下mouse才轉給你看
if(mousePressed)rotateZ(radians(frameCount));//對著下面中心旋轉
box(100,30,30);//橫的棒子
popMatrix();//第5週教過的matrix保護
}
課堂作業2:
//week06_2_ellipse_translate_push_rotate_translate_box_pop
//再加1個移動,把物體放到[轉盤的中心]
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保護
//改一下,要按下mouse才轉給你看
if(mousePressed)rotateZ(radians(frameCount));//對著下面中心旋轉
translate(-50,0,0);//把棒子 往左移一半,讓右端放在正中間
box(100,30,30);//橫的棒子
popMatrix();//第5週教過的matrix保護
}
課堂作業3:
//week06_3_push_translate_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保護
translate(x,y);
if(mousePressed & mouseButton==RIGHT){
rotateZ(radians(frameCount));//對著下面中心旋轉
}
translate(-50,0,0);//把棒子 往左移一半,讓右端放在正中間
box(100,30,30);//橫的棒子
popMatrix();//第5週教過的matrix保護
}
float x=0,y=0;
void mouseDragged(){
x += mouseX-pmouseX;
y += mouseY-pmouseY;
}
課堂作業4:
//week06_4_sphere_box_push_T_R_T_box_pop
//慢慢組合出機器手臂
void setup(){
size(500,400,P3D);
}
void draw(){
background(255);//Step00
translate(width/2,height/2);//Step00
sphere(10);//Step04 放個圓球,當世界中心的參考
box(200,50,25);//手肘
fill(252,131,77);
pushMatrix();//Step03
translate(x,y);//Step06 發現放100,0很好
if(mousePressed)rotateZ(radians(frameCount));//Step03
translate(25,0,0);//Step02 往右推,讓左端放中心
box(50,25,50);//Step01 小手腕
popMatrix();//Step03
}
float x=0,y=0;//Step06 會動的位置
void mouseDragged(){//Step06
x += mouseX-pmouseX;
y += mouseY-pmouseY;
println("x:"+ x +"y:"+ y);//Step07 印出來
}
課堂作業5:
//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);
sphere(10);
fill(252,131,77);
pushMatrix();//Step04 新的 一組
translate(x,y);//Step05 新的轉動
//Step03 把程式往右縮排
box(200,50,25);//Step05 手肘(剛剛放錯位置sorry)
pushMatrix();//Step03 把程式往右縮排
translate(100,0);//Step01 把剛前一步發現的100,0放好
//if(mousePressed)//Step02 把剛剛的if(mousePressed)刪掉
rotateZ(radians(frameCount));//Step02 只轉動
translate(25,0,0);//往右推,讓左端放中心
box(50,25,50);//小手腕
popMatrix();//Step03 把程式往右縮排
popMatrix();//Step04 新的 一組
}
float x=0,y=0;//會動的位置
void mouseDragged(){
x += mouseX-pmouseX;
y += mouseY-pmouseY;
println("x:"+ x +"y:"+ y);
}
課堂作業6:
//week06_6_push_box_push_TRT_box_push_TRT_box_pop_pop_pop
//慢慢組合出機器手臂
void setup(){
size(500,400,P3D);
}
void draw(){
background(255);
translate(width/2,height/2);
sphere(10);
fill(252,131,77);
pushMatrix();//Step04 push
//Step05 裡面要往右縮一個 TAB
box(50,200,25);//Stap03: 手臂
pushMatrix();
translate(x,y);//Step03: 掛到手臂上面,觀察到0-100
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();//Stap04 pop
}
float x=0,y=0;//會動的位置
void mouseDragged(){
x += mouseX-pmouseX;
y += mouseY-pmouseY;
println("x:"+ x +"y:"+ y);
}
課堂作業7:
//week06_7_push_RRT_many_TRT_inside_pop
//慢慢組合出機器手臂
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)rotateY(radians(frameCount));//Step03: 右鍵旋轉
if(mousePressed && mouseButton==RIGHT)rotateZ(radians(frameCount));//Step02: 右鍵旋轉
translate(0,-100);//translate(x,y);//Step01: 要往上抬升,把[關節]到中心
box(50,200,25);//手臂
pushMatrix();
translate(0,-100);//Step00: 掛到手臂上面,觀察到0,-100
//if(mousePressed)//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();//Stap04 pop
}
float x=0,y=0;//會動的位置
void mouseDragged(){
x += mouseX-pmouseX;
y += mouseY-pmouseY;
println("x:"+ x +"y:"+ y);
}
沒有留言:
張貼留言