显然我需要练习更多的触发器。我试图围绕中心轴定位等于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);
圆圈应随时间移动(因此为frameCount),但也应沿圆的不同弧度开始。此代码不起作用。
谁能告诉我为什么?
答案 0 :(得分:2)
你不应该乘以(共)正弦。相反,将它们的参数一起添加以用于一个(共)正弦。我还认为你希望用2π而不是π多次 j ,所以你覆盖整个圆弧围绕中心点:
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);
// ...
}