이번에는 리사주 곡선(Lissajous curve)으로 불리는 곡선족을 그려 보았다. 리사주곡선은 다음과 같은 매개변수 방정식으로 나타낼 수 있다.
\begin{align*} x &= A \sin(at+d) \\ y &= B \sin(bt) \end{align*}
$a$와 $b$가 서로소이면, 이 두 숫자는 곡선에서 몇 개의 돌출부(lobe)가 있는지를 나타낸다고 한다. 아래 그림에서 $a=5$이므로, 세로로 다섯개의 돌출부가, $b=4$이므로 가로로는 네개의 돌출부가 그려짐을 확인할 수 있다. $a$와 $b$가 서로소가 아니면 최대공약수로 약분을 해 주었을 때의 값으로 돌출부의 개수는 판단할 수 있다. 또한 이 곡선을 3차원의 곡선으로 생각할 수 있는데, 이 때, $d$의 값은 이 곡선을 얼만큼 회전하여 정사영한 모습인지를 나타낸다고 한다. 슬라이더를 움직인 후에는 꼭 왼쪽 아래에 Refresh 버튼을 눌러야 제대로 된 스파이로그래프를 볼 수 있다. 1
p5.js
코드 보기
- 이 때, 회전축은 $a$와 $b$의 값에 따라 달라진다. [본문으로]
'Others > Processing' 카테고리의 다른 글
p5.js 연습 009. $n$을 법으로 하는 곱셈 테이블 (0) | 2017.10.27 |
---|---|
p5.js 연습 007. 장미 곡선(Rose curve) (0) | 2017.07.21 |
p5.js 연습 006. 프랙탈 스파이로그래프(fractal spirograph) (0) | 2017.07.14 |
p5.js 연습 005. 에피사이클로이드(epicycloid) (0) | 2017.07.09 |
p5.js 연습 004. 스파이로그래프(Spirograph) (0) | 2017.07.07 |