week05_1_cwa_typhoon_images
PImage img=loadImage("TWI_IR1_CR_800-2024-10-02-08-00.jpg");
size(800,800);background(img);
week05_2_cwa_typhoon_array_loadStringsint 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_3_cwa_typhoon_2750
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;
}
week05_4_pendulum_mouseDragged_x_yvoid 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_5_pendulum_cos_sin_draw_line
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();
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_6_PVector_new_PVector_x_yvoid 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); //使用物件的p.x
}
week05_7_pendulum_PVector_normalize_dot_mult
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();
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);
PVector N=new PVector(d.y,-d.x).normalize();
N.mult(100*sin(acos(g)));
stroke(0,0,255); //藍色線往右下
line(x,y,x+N.x,y+N.y);
}
void mouseDragged(){
x=mouseX;
y=mouseY;
}
week05_8_pendulum_not_OK_PVector_sub_velocityvoid 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(); 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); PVector N=PVector.sub(d2.mult(100),d); //N.mult(100*sin(acos(g))); stroke(0,0,255); //藍色線往右下 line(x,y,x+N.x,y+N.y); v.x+=N.x/1000; v.y+=N.y/1000; x+=v.x; y+=v.y; } PVector v=new PVector(); //球的速度0 void mouseDragged(){ x=mouseX; y=mouseY; }
沒有留言:
張貼留言