p5.js 연습 005. 에피사이클로이드(epicycloid)

written by jjycjn   2017. 7. 9. 09:38

이번에는 위키피디아에 있는 공식을 참고하여 에피사이클로이드(epicycloid)를 그려 보았다. 에피사이클로이드는 검은색 원이 파란색 원에 외접하면서 주위를 회전할 때, 검은색 원의 한 고정점이 나타내는 자취를 말한다. 에피사이클로이드의 자취를 각 $\theta$에 대한 매개방정식(parametric equation)으로 나타낼 수 있는데, 이는 다음과 같다.

\begin{align*} x(\theta) &= (R+r)\cos \theta - d\cos \left({\frac {R+r}{r}}\theta \right) \\ y(\theta ) &= (R+r)\sin \theta - d\sin \left({\frac {R+r}{r}}\theta \right) \end{align*}

단, 이 경우 $d = r > 0$이다. 이 곡선은 서로 다른 $d$와 $r$ 값에 따라 여러가지 이름으로 불리는데, 이를 정리하면,

정도로 정리할 수 있다.


아래 슬라이더 중 $-1 < r \leq 1$은 검은색 원의 반지름이 길이를 나타내고 (단, $r<0$인 경우는 검은색 원이 파란색 원에 내접함을 의미), $0 \leq d \leq 5$는 는 검은 원의 중심에서 펜 까지의 거리를 나타낸다. 슬라이더를 움직인 후에는 꼭 왼쪽 아래에 Refresh 버튼을 눌러야 제대로 된 스파이로그래프를 볼 수 있다.




p5.js 코드 보기

  


  ::  
  • 공유하기  ::