Week05_1
void setup(){
size(400,400,P3D); //processing的3D功能
}
void draw(){
background(#FFFFF2);//老師喜歡的黃色
pushMatrix();//備份矩陣
translate(mouseX,mouseY);//移動
box(100);//3D的盒子
popMatrix();//還原矩陣
}
Week05_2
void setup(){
size(400,400,P3D); //processing的3D功能
}
void draw(){
background(#FFFFF2);//老師喜歡的黃色
pushMatrix();//備份矩陣
translate(mouseX,mouseY);//移動
rotate(radians(mouseX));//對Y軸轉動
fill(0,255,0);
box(100);//3D的盒子
noFill();//面不要填
scale(2);
box(100);
popMatrix();//還原矩陣
}
Week05_3
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(CLOSE);
week05_4
ArrayList<PVector> pt;//大的資料結構ArrayList
void setup(){
size(400,400,P3D);
pt = new ArrayList<PVector>();
}//初始化,把大的資料結構準備好(裡面放小資料結構)
void draw(){
background(#FFFFF2);
for(PVector p : pt){
ellipse(p.x,p.y,10,10);
}
}
void mousePressed(){
pt.add(new PVector(mouseX,mouseY));
}//大的資料結構裡,加入小的PVector的物件
week05_5
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);
}
beginShape();
for(PVector p : pt){
vertex(p.x,p.y);
}
endShape();
}
void mousePressed(){
pt.add(new PVector(mouseX,mouseY));
}//大的資料結構裡,加入小的PVector的物件
week05_6
ArrayList<PVector> pt;//大的資料結構ArrayList
void setup(){
size(400,400,P3D);
pt = new ArrayList<PVector>();
}//初始化,把大的資料結構準備好(裡面放小資料結構)
void draw(){
background(#FFFFF2);
pushMatrix();
if(mousePressed && mouseButton==RIGHT){
translate(200,200);
rotateY(radians(frameCount));
translate(-200,-200);
}
for(PVector p : pt){//特殊的for迴圈,得小資結構
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));
}
}//大的資料結構裡,加入小的PVector的物件
week05_7
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==CENTER) println("CENTER");
if(mouseButton==RIGHT) println("RIGHT");
}
week05_8
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));
}//假設畫面中,點好了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;
}
}
}
week05_9
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)));
}//假設畫面中,點好了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 mouseDragged(){
for(PVector p : pt){
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;
}
}
}
}
沒有留言:
張貼留言