//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保護 }
//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; }
//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);//Step05 手肘 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 手肘 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);//Step03 手臂 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();//Step04 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);//Steo00 把視窗變長一點 看比較完整 } 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));//Step02 右鍵旋轉 translate(0,-100);//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();//Step04 pop } float x=0,y=0;//會動的位置 void mouseDragged(){ x += mouseX - pmouseX; y += mouseY - pmouseY; println("x:"+x+"y:"+y); }









沒有留言:
張貼留言