void setup(){
size(400,400,P3D);//processing 的3D功能 } void draw(){ background(#FFFFF2);//鵝黃色背景 pushMatrix();//備份矩陣 translate(mouseX,mouseY);//移動 box(100);//3D的方塊 popMatrix();//還原矩陣 }
void setup(){ size(400,400,P3D);//processing 的3D功能 } void draw(){ background(#FFFFF2);//鵝黃色背景 pushMatrix();//備份矩陣 translate(mouseX,mouseY);//移動 rotateY(radians(mouseX));//對Y軸轉動 fill(0,255,0);//填綠色 box(100);//3D的方塊 noFill();///面不填色 scale(2);//放大兩倍 box(100);//第二個方塊 放大兩倍 popMatrix();//還原矩陣 }
size(410,410,P3D); beginShape(); fill(255,0,0); vertex(200,0); fill(0,255,0); vertex(0,400); fill(0,0,255); vertex(400,400); endShape();
week05_4
ArrayList<PVector>pt;///大的資料結構ArrayList void setup(){ size(400,400,P3D); pt=new ArrayList<PVector>(); }///初始化,把大的資料結構準備好(裡面放小的資料結構) void draw(){ background(#FFFFF2); for(PVector p:pt){///特殊的FOR迴圈 得小的資料結構 ellipse(p.x,p.y,10,10); } } void mousePressed(){ pt.add(new PVector(mouseX,mouseY)); }///大的資料結構加入小的PVector的物件
ArrayList<PVector>pt;///大的資料結構ArrayList void setup(){ size(400,400,P3D); pt=new ArrayList<PVector>(); }///初始化,把大的資料結構準備好(裡面放小的資料結構) void draw(){ pushMatrix(); if(mousePressed && mouseButton==RIGHT){ translate(200,200); rotate(radians(frameCount)); translate(-200,-200); } background(#FFFFF2); for(PVector p: pt){ ellipse(p.x,p.y,10,10); } beginShape(); for(PVector p:pt){///特殊的FOR迴圈 得小的資料結構 vertex(p.x,p.y); } endShape(); popMatrix(); } void mousePressed(){ if(mouseButton==LEFT){ pt.add(new PVector(mouseX,mouseY)); } pt.add(new PVector(mouseX,mouseY)); }///大的資料結構加入小的PVector的物件
按左鍵紅 按中鍵綠 按右鍵藍
void setup(){ size(400,400,P3D); } void draw(){ background(255); if(mousePressed && mouseButton==LEFT) background(255,0,0); if(mousePressed && mouseButton==CENTER) background(0,255,0); if(mousePressed && mouseButton==RIGHT) background(0,0,255); } void mousePressed(){ if(mouseButton==LEFT)println("LEFT"); if(mouseButton==LEFT)println("CENTER"); if(mouseButton==LEFT)println("RIGHT"); }
ArrayList<PVector> pt; void setup(){ size(400,400,P3D); pt= new ArrayList<PVector>(); for(int i=0;i<20;i++){ pt.add(new PVector(i*20,20)); } } void draw(){ background(255); for(PVector p: pt){//劃出20個頂點 ellipse(p.x,p.y,10,10); } if(ans!=null)ellipse(ans.x,ans.y,15,15); } PVector ans=null; void mousePressed(){ for(PVector p: pt){ if(dist(p.x,p.y,mouseX,mouseY)<5){ ans=p; } } }
ArrayList<PVector> pt; void setup(){ size(400,400,P3D); pt= new ArrayList<PVector>(); for(int i=0;i<37;i++){ pt.add(new PVector(random(400),random(400)) ); }///假設畫面中已經點好37個點 } void draw(){ background(255); for(PVector p: pt){//劃出20個頂點 ellipse(p.x,p.y,10,10); } if(ans!=null)ellipse(ans.x,ans.y,15,15); } PVector ans=null; void mouseDragged(){ if(mouseButton==CENTER && ans!=null){ ans.x= mouseX; ans.y=mouseY; } } void mousePressed(){ if(mouseButton==LEFT)pt.add(new PVector(mouseX,mouseY)); else if(mouseButton==CENTER){ for(PVector p: pt){ if(dist(p.x,p.y,mouseX,mouseY)<5){ ans=p; } } } }
ArrayList<PVector> pt; void setup(){ size(400,400,P3D); pt= new ArrayList<PVector>(); for(int i=0;i<37;i++){ pt.add(new PVector(random(400),random(400)) ); }///假設畫面中已經點好37個點 } void draw(){ background(255); for(PVector p: pt){//劃出20個頂點 ellipse(p.x,p.y,10,10); } if(ans!=null)ellipse(ans.x,ans.y,15,15); } PVector ans=null; void mouseDragged(){ if(mouseButton==CENTER && ans!=null){ ans.x= mouseX; ans.y=mouseY; } } void mousePressed(){ if(mouseButton==LEFT)pt.add(new PVector(mouseX,mouseY)); else if(mouseButton==CENTER){ for(PVector p: pt){//厲害的for迴圈 不能增刪裡面的東西 if(dist(p.x,p.y,mouseX,mouseY)<5){ ans=p; } } }else if(mouseButton==RIGHT){//右鍵要刪掉 使用傳統for迴圈 for(int i=0;i<pt.size();i++){ PVector p=pt.get(i);//要寫2行 if(dist(p.x,p.y,mouseX,mouseY)<5){ pt.remove(i);//就把第i個點刪掉 } } } }
沒有留言:
張貼留言