week05-01
PImage img=loadImage("TWI_IR1_CR_800-2024-10-02-08-00.jpg");
size(800,800); background(img);
week05-02
int N=299; PImage [] imgs=new PImage[299]; void setup(){ size(800,800); String [] filenames=loadStrings("list.txt"); for(int i=0;i<N;i++){ imgs[i]=loadImage(filenames[i]); } } void draw(){ int i=frameCount%N; background(imgs[i]); }
week05-03
PImage img; void setup(){ size(500,500); img=loadImage("LCC_VIS_TRGB_2750-2024-10-02-07-40.jpg"); } float s=1.0,x=0,y=0; float realX=0,realY=0; void draw(){ background(255); translate(x,y); scale(s); image(img,0,0); } void mouseDragged(){ x+=mouseX-pmouseX; y+=mouseY-pmouseY; } void mouseWheel(MouseEvent e){ realX=(mouseX-x)/s; realY=(mouseY-y)/s; float oldS=s; if(e.getCount()<0) s *=1.1; //大於、小於,可決定縮放的方向 else s *=0.9; x=x+realX*oldS-realX*s; y=y+realY*oldS-realY*s; if(x>0) x=0; if(y>0) y=0; if(s<0.2){ x=0; y=0; s=0.2; } }
week05-04
void setup(){ size(400,600); } float x=200,y=300; void draw(){ background(255); line(200,100,x,y); ellipse(x,y,30,30); } void mouseDragged(){ x=mouseX; y=mouseY; }
week05-05
void setup(){ size(400,600); } float x=200,y=300; void draw(){ background(255); stroke(0);//原來是黑色的線 line(200,100,x,y); ellipse(x,y,30,30); stroke(255,0,0);//紅色往下的線 line(x,y,x,y+100); PVector d=new PVector(x-200,y-100).normalize();//長度1 PVector d2=new PVector(0,1); float g=PVector.dot(d,d2); d.mult(100*g); stroke(0,255,0);//綠色往左下的線 line(x,y,x+d.x,y+d.y); } void mouseDragged(){ x=mouseX; y=mouseY; }
week05-06
void setup(){ size(400,600); c=new PVector(200,100);//new 出新物件 p=new PVector(200,130);//new 出新物件 } PVector c,p; void draw(){ background(255); ellipse(c.x,c.y,10,10);//使用物件的 c.x ellipse(p.x,p.y,10,10); }
week05-07
void setup(){ size(400,600); } float x=200,y=300; void draw(){ background(255); stroke(0);//原來是黑色的線 line(200,100,x,y); ellipse(x,y,30,30); stroke(255,0,0);//紅色往下的線 line(x,y,x,y+100); PVector d=new PVector(x-200,y-100).normalize();//長度1 PVector d2=new PVector(0,1); float g=PVector.dot(d,d2);//cos(a) d.mult(100*g); stroke(0,255,0);//綠色往左下的線 line(x,y,x+d.x,y+d.y); PVector N = new PVector(d.y,-d.x).normalize();//長度1 N.mult(100*sin(acos(g)));//g是cos(a),acos(g)就是角度a stroke(0,0,255);//藍色線往右下 line(x,y,x+N.x,y+N.y); } void mouseDragged(){ x=mouseX; y=mouseY; }
week05-08
void setup(){ size(400,600); } float x=200,y=300; void draw(){ background(255); stroke(0);//原來是黑色的線 line(200,100,x,y); ellipse(x,y,30,30); stroke(255,0,0);//紅色往下的線 line(x,y,x,y+100); PVector d=new PVector(x-200,y-100).normalize();//長度1 PVector d2=new PVector(0,1); float g=PVector.dot(d,d2);//cos(a) d.mult(100*g); stroke(0,255,0);//綠色往左下的線 line(x,y,x+d.x,y+d.y); PVector N=PVector.sub(d2.mult(100),d);//PVector N = new PVector(d.y,-d.x).normalize();//長度1 N.mult(100*sin(acos(g)));//g是cos(a),acos(g)就是角度a stroke(0,0,255);//藍色線往右下 line(x,y,x+N.x,y+N.y); v.x+=N.x/1000;//x+=N.x/100; v.y+=N.y/1000;//y+=N.y/100; x+=v.x; y+=v.y; } PVector v=new PVector();//球的速度,一開始是0 void mouseDragged(){ x=mouseX; y=mouseY; }
沒有留言:
張貼留言