首先我們做個背景
void setup(){
size(300,300);
}
void draw(){
background(#002966);
fill(#b7efff);
noStroke();
ellipse(100,150,13,13);
ellipse(200,150,13,13);
}
讓它可以跟著滑鼠動
float x=200,y=150;void setup(){
size(300,300);
}
void draw(){
background(#002966);
stroke(#b7efff);
line(100,150,x,y);
fill(#b7efff);
noStroke();
ellipse(100,150,13,13);
ellipse(200,150,13,13);
}
void mouseDragged(){
x=mouseX;
y=mouseY;
}
變成固定的長度
float x=200,y=150;
void setup(){
size(300,300);
}
void draw(){
background(#002966);
stroke(#b7efff);
line(100,150,x,y);
fill(#b7efff);
noStroke();
ellipse(100,150,13,13);
ellipse(200,150,13,13);
if(!mousePressed){
float dx=x-100,dy=y-150;
float len=sqrt(dx*dx+dy*dy);
x-=dx*(len-100)/len;
y-=dy*(len-100)/len;
}
}
void mouseDragged(){
x=mouseX;
y=mouseY;
}
移動使用虎克公式
float x=200,y=150,vx=0,vy=0;
void setup(){
size(300,300);
}
void draw(){
background(#002966);
stroke(#b7efff);
line(100,150,x,y);
fill(#b7efff);
noStroke();
ellipse(100,150,13,13);
ellipse(x,y,13,13);
if(!mousePressed){
float dx=x-100,dy=y-150;
float len=sqrt(dx*dx+dy*dy);
vx-=dx*(len-100)/len*0.001;
vy-=dy*(len-100)/len*0.001;
x+=vx;
y+=vy;
}
}
void mouseDragged(){
x=mouseX;
y=mouseY;
}
類似養魚程式
float x=200,y=150;
void setup(){
size(400,300);
}
void draw(){
background(#002966);
fill(255);
rect(x,y,80,20);
if(!mousePressed){
float dx=x-mouseX,dy=y-mouseY;
float len=sqrt(dx*dx+dy*dy);
x-=dx*0.1;
y-=dy*0.1;
}
}
沒有留言:
張貼留言