2023年10月12日 星期四

10160163-week05

 week05

processing的3D功能





void setup(){
  size(400,400,P3D); //3D功能
}
void draw(){
  background(#FFFFF2);
  pushMatrix();//備份矩陣
    translate(mouseX,mouseY);//移動
    rotateY(radians(mouseX));//對Y軸轉動
    fill(0,255,0);面填成綠色
    box(100);
    
    noFill();//面不要填
    scale(2);//放大兩倍
    box(100);
  popMatrix();//還原矩陣
}




ArrayList<PVector> pt;
void setup(){
  size(400,400,P3D);
  pt = new ArrayList<PVector>();
}
void darw(){
  background(#FFFFF2);
  pushMatrix();
  if(mousePressed&&mouseButton==RIGHT){
    translate(200,200);
    rotateY(radians(frameCount));
    translate(-200,-200);
  }
  for(PVector p: pt){
    ellipse(p.x,p.y,10,10);
  }
  beginShape();
  for(PVector p: pt){
    vertex(p.x,p.y);
  }
    endShape();
  popMatrix();
}
void mousePressed(){
  if(mouseButton==LEFT){
    pt.add( new PVector(mouseX,mouseY));
  }
}



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){
   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)));
  }
}
void draw(){
 background(255);
 for(PVector p:pt){
   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)));
  }
}
void draw(){
 background(255);
 for(PVector p:pt){
   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;
   }
   }
 }else if(mouseButton==RIGHT){
   for(int i=0;i<pt.size();i++){
     PVector p = pt.get(i);
     if(dist(p.x,p.y,mouseX,mouseY)<5){
       pt.remove(i);
     }
   }
}
}










沒有留言:

張貼留言