2016-11-25 1 views
0

분명히 나는 ​​더 많은 삼각 연습을해야합니다. 나는 중심 축을 중심으로 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)로 이동뿐만 아니라 원의 다른 라디안 함께 시작해야합니다. 이 코드는 작동하지 않습니다.

아무도 말해 줄 수 있습니까?

답변

2

(코) 사인을 곱하면 안됩니다. 대신, 하나의 (사인) 사인에서 사용하기 위해 그들의 주장을 합치십시오. 나는 또한 대신 π의, 2π와 J을 mutiply 할 생각, 그래서 당신은 중앙 점을 중심으로 전체 아크 포함 : 사인에 대한

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); 
    // ... 
} 
관련 문제