Pixar in a Box: Kahn Academy
디즈니 애니메이션에 나오는 가상캐릭터의 동작은 아주 활발해 보이지만, 뭔가 이질감이 있죠. 그렇다고 딱히 차이나는 것을 언급하기에는 애매하죠.
칸 아카데미(Kahn Academy)에 등록되어 있는 강의 중 "Pixar in a Box"라는 강의는 디즈니에서 만드는 애니메이션에 들어간 수학적 아이디어들과 실제 사용예를 설명해 놓은 강의입니다. 영어가 부담이 되면 유튜브의 자동번역 기능을 통해 들어도 그럭저럭 들어줄만 합니다.
그 중 캐릭터 애니메이션에 들어간 기술로는 베지에 곡선이 사용되었다는군요.
베지어 곡선은 프랑스 자동차사 르노의 엔지니어였던 피에르 베지에(Pierre Bézier)가 자동차 몸체를 표현할 부드러운 곡선이 필요해서 만들었다고 합니다. 요즘은 여러 그래픽 툴이나 글꼴 디자인 등에도 사용이 되죠. 칸 아카데미에 등록된 위 그림처럼 캐릭터의 움직임을 나타내는데도 사용이 됩니다. 베지에 곡선을 적절히 이용하면 변화가 빨라야 할 곳은 더 빠르게, 느려야 할 곳은 더 느리게 표현을 해서 캐릭터가 마치 연극배우들처럼 실제보다 약간 더 과장되면서 보다 더 활기차게 움직이도록 할 수 있습니다.
베지에 곡선을 이해하려면 벡터 개념이 좀 필요하지만, 고1 수준에서 배우는 내분, 외분만 알아도 충분합니다. 편의상 점 $\mathrm P$의 위치를 굵은 글씨로 (벡터) $\mathbf P$로 표현하겠습니다.
두 점 $\mathrm A$, $\mathrm B$가 있을 때 선분 $\mathrm {AB}$를 $t:(1-t)$로 내분하는 점 $\mathrm P_1$은 다음과 같이 나타납니다.
$$\mathbf P_1 = t \mathbf B + (1-t) \mathbf A$$
그러면 세 점 $\mathrm A$, $\mathrm B$, $\mathrm P_1$은 다음과 같은 위치관계를 가지게 되죠.
여기에 점 $\mathrm C$를 추가해서 선분 $\mathrm {BC}$를 $t:(1-t)$로 내분하는 점을 $\mathrm P_2$라 하면 다음과 같은 관계가 나옵니다.
이제, 선분 $\mathrm {P_1 P_2}$를 $t:(1-t)$로 내분하는 점을 $\mathrm Q_1$이라 하면 다음과 같은 위치에 점 $\mathrm Q_1$이 있게 됩니다.
물론, $t$값이 변하면 $\mathrm P_1$, $\mathrm P_2$, $\mathrm Q_1$의 위치는 변합니다. $0 \leq t \leq 1$에 대해 가능한 $\mathrm Q_1$의 좌표를 모두 나타내면 다음과 같은 그림이 완성됩니다.
굵게 보이는 선을 2차 베지에 곡선이라 합니다. (지금까지 설명된 식을 A, B, C에 대해 정리하면 2차식이 나옵니다.)
이제, 점 $\mathrm D$를 추가해서 앞에서 하던 작업을 계속해 봅시다.
우선 $\mathrm P_3$를 선분 $\mathrm {CD}$의 $t:(1-t)$내분점으로 잡고,
선분 $\mathrm {P_2 P_3}$의 $t:(1-t)$내분점을 $\mathrm Q_2$로 잡습니다.
그러고 선분 $\mathrm {Q_1 Q_2}$의 $t:(1-t)$내분점을 잡아 그 점을 $\mathrm X$라 합시다.
이제 $0 \leq t \leq 1$에 대해 점 $\mathrm X$를 모두 표시해주면 다음과 같은 곡선이 얻어집니다.
이것이 3차 베지에곡선이며, 이 글 처음 그림에 나왔던 곡선은 이렇게 네 점으로 이루어진 3차 베지에곡선 두 개가 표시되어 있습니다.
칸 아카데미의 해당 코스를 보면 공의 모양도 베지에 곡선으로 변형시켜서 더욱 실감나게 만드는 과정을 보여줍니다.
실제 공의 운동은 마찰이 없을 때 2차함수로 표현이 됩니다. 그런데 디즈니 만화에서 3차식으로 표현되는 베지에 곡선을 통해 캐릭터의 움직임을 표현하는 것은 앞에서 말했듯이 현실과는 크게 차이가 없으면서 좀 더 극적인 요소를 추가하고 싶어서였던 것 같습니다.