//week06_1_ellipse_translate_push_rotate
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_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));//對著下面中心旋轉 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(); //要按下滑鼠才轉動 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 //慢慢組出機械手臂 void setup(){ size(500,400,P3D); } void draw(){ background(255);//step00 translate(width/2,height/2);//step00 sphere(10);//step04放個圓球 box(200,50,25);//step05手肘 fill(252,131,77); pushMatrix();//step03 translate(x,y); 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印出來 }
//week06_4_sphere_box_push_T_R_T_box //慢慢組出機械手臂 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新的轉動 box(200,50,25);//step05手肘 pushMatrix(); translate(100,0);//step01把前一步發現的100.0放好 rotateZ(radians(frameCount));//step把if刪掉 translate(25,0,0);//往右推,讓左端放在中心 box(50,25,50);//小手腕 popMatrix();//step03把程式往右 popMatrix(); } float x=0,y=0;//會動的位置 void mouseDragged(){ x+=mouseX-pmouseX; y+=mouseY-pmouseY; println("x:"+x+"y:"+y);//印出來 }
//week06_6_push_T-_box_push_T_R_T_box //慢慢組出機械手臂 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); pushMatrix(); translate(x,y);//step03掛到手臂上 if(mousePressed)rotateZ(radians(frameCount));//step02把旋轉放入 translate(100,0);//step01把手肘的移動量放入 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_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)); if(mousePressed&&mouseButton==RIGHT)rotateZ(radians(frameCount)); translate(0,-100); box(50,200,25); pushMatrix(); translate(0,-100);//step00 //if(mousePressed)step00 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); }
沒有留言:
張貼留言