這是一個常見的問題/請求,但我試圖創建一個由組成邊界的較小圓圈組成的大圓圈。大圓的x和y將是鼠標。創建一個由小圓圈組成的擴展圓圈
事情是這些圈子會逐一繪製,當θ達到2 * PI時會發生一些事情。圓圈將清晰,斜邊會隨着圓圈大小(比例)增大,然後再次從0開始繪製圓圈。此視頻的前幾秒演示過程https://www.youtube.com/watch?v=hAVH-2ven94&feature=youtu.be
對於代碼這是我到目前爲止有:
float theta = 0;
float hypotenuse = 30;
float radius = 10;
float thetaIncrease = 0.3;
float hypotenuseIncrease = 0.5;
float radiusIncrease = 0.2;
void draw(){
background(0);
float x = cos(theta)*hypotenus;
float y = sin(theta)*hypotenus;
ellipse(mouseX+x, mouseY+y, radius, radius);
theta += thetaIncrease;
if(theta >= PI*2) {
background(0);
hypotenuse += hypotenuseIncrease;
radius += radiusIncrease;
theta = 0;
}
}
我遇到的一個問題是,當我設置的θ至0.3圓開始快速旋轉自動遞增。同樣,如果我走另一條路(theta = 0; ellipse(); theta = 0.3; ellipse();),這些圓一次繪製所有,我不能創建一個if語句來使theta恢復爲0並擦除,當它達到2 * PI時增長該圓,因爲theta實際上並沒有增加(它只停留在2.6)。如果我能得到任何建議或意見,我會非常感激。
啊,謝謝!這就說得通了。 – xKorix