2020年6月18日 星期四
幾何圖形
先寫出背景,背景顏色,及一顆圓球
void setup(){
size(300,300);
}
void draw(){
background(#002966);\\背景顏色
fill(#b7efff);\\球的顏色
noStroke();\\\不畫線
ellipse(100,150, 13,13);
ellipse(200,150, 13,13);
}
下一步:
把圓跟圓之間的線畫出來
void setup(){
size(300,300);
}
void draw(){
background(#002966);
stroke(#b7efff);///多加了這行畫線
line(100,150, 200,150);以及點連點的線
fill(#b7efff);
noStroke();
ellipse(100,150, 13,13);
ellipse(200,150, 13,13);
}
使點可以隨著滑鼠移動
void setup(){
size(300,300);
}
float x=200, y=150;\\設一個變數
void draw(){
background(#002966);
stroke(#b7efff);
line(100,150, x,y);
fill(#b7efff);
noStroke();
ellipse(100,150, 13,13);
ellipse(x,y, 13,13);
}
void mouseDragged(){\\跟著滑鼠動\
x=mouseX; y=mouseY;
}
讓點放開滑鼠時回彈
void setup(){
size(300,300);
}
float x=200, y=150;
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);
x -= dx*(len-100)/len;
y -= dy*(len-100)/len;
}
void mouseDragged(){
x= mouseX; y= mouseY;
}
一次只有10分之一,比較圓滑
虎克定律
微積分: 位置=>速度=>加速度(力)
讓圓圈反彈
使圓圈彈跳速度變快
vx -= dx*(len-100)/len*0.1;
vy -= dy*(len-100)/len*0.1;
x+= vx;///x -= dx*(len-100)/len*0.1;\\\越大越強
y+= vy;///y -= dy*(len-100)/len*0.1;
}
void mouseDragged(){
x= mouseX; y= mouseY;
vx =0; vy=0;\\\在拉動時,不能有速度
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言