2016-11-25 101 views
0

顯然我需要練習更多的trig。我試圖圍繞一箇中心軸定位等於categories.length的圓圈。下面是我使用(p5.js)代碼:爲什麼這些橢圓不能正確放置?

var categoryX, categoryY; 

    for (var j=0; j<categories.length; j++){     
     categoryX = width/2 + (250*cos(frameCount/3000) * cos(j*PI/categories.length));     
     categoryY = height/2 + (250*sin(frameCount/3000) * cos(j*PI/categories.length));   
     ellipse(categoryX, categoryY, 250, 250);  

圓圈應該隨時間(因此,幀數)移動,而且沿圓的弧度不同的開始。此代碼不起作用。

有誰能告訴我爲什麼?

回答

2

你不應該乘以(合)正弦。相反,將它們的論點加在一起用於一個(合)正弦。我也想你想mutiply代替πĴ與2π,所以你蓋中心點周圍全弧:

cos(frameCount/3000 + j*2*PI/categories.length) 

同爲正弦。

因此,代碼將成爲:

var categoryX, categoryY; 

for (var j=0; j<categories.length; j++){     
    categoryX = width/2 + 250*cos(frameCount/3000 + j*2*PI/categories.length); 
    categoryY = height/2 + 250*sin(frameCount/3000 + j*2*PI/categories.length); 
    ellipse(categoryX, categoryY, 250, 250); 
    // ... 
} 
相關問題