2017-12-05 1 views
0

나선형의 상승 효과가 http://openlayers.org/en/latest/examples/dynamic-data.html캔버스 나선형의 상승 효과가

데모 페이지 하단에서, 알고리즘이 사용됩니다 이 효과를 구현하십시오. 그러나 나는 그것이 어떻게 작동하는지 알 수 없다.

var t = theta + 2 * Math.PI * i/n; 
var x = (R + r) * Math.cos(t) + p * Math.cos((R + r) * t/r); 
var y = (R + r) * Math.sin(t) + p * Math.sin((R + r) * t/r); 

R, r 및 p는 무엇을 의미합니까? 그리고 위의 수식을 이해하는 방법? 누군가 나를 위해 세부 사항을 설명 할 수 있습니까? 어떤 도움을 주셔서 감사합니다.

답변

2

코드가 epicycloid curve 인 것으로 나타났습니다. (+ theta은 영구적으로 이동 효과를 제공합니다.)

당신은 (여기 작은) 외부 원의 반경 내 (여기서는 큰) 원의 반경 P 및 R (여기서 동일한 값)로 R 참조 할 수있다. 여기 r는 토 로이드 스프링의 코일 반경과 비슷합니다.

첫 번째 summands는 바깥 쪽 원의 중심에 해당하고 두 번째 summands는 두 번째 쪽 - 바깥 쪽 원 중심에 대한 2 차 회전까지입니다.

이 값 재생 및 관찰 효과

참고가 페이지를 변경하는 경우가 동일하지 R에 만들기 위해, 당신은

epitrochoid 곡선 (기초 원의보다 일반적인 종류)를 얻을 것이다