4원수(Quaternion) 회전
1) x, y, z 축별 회전각을 모두 적용하는 회전을 R이라 하자.
2) 공간상의 모든 회전은 회전축 a와 회전축에 수직인 평면상의 회전각 b로 구성된다.
3) 2)는 하나의 4원수 q로 표현할 수 있다.
4) 어떤 정점 p에 회전 R을 적용한 결과는 qpq*를 계산하면 나온다.
5) qpq* = Mp 인 행렬 M을 구할 수 있다.
따라서 x, y, z 축별 회전각을 입력값으로 받아
회전 R의 효과를 내는 하나의 행렬 M을 구할 수 있다.
1) MoGL에서 정점의 변환에 대한 내용은 VertexShaderFunctions.js와 Shader.js 에서 다루고 있음
2) 축 별 회전각 Rx, Ry, Rz가 주어지면, 4원수를 이용한 회전행렬 Q를 반환하는 함수 A구현
3) VertexShaderFunctions.js와 Shader.js에 함수 A 추가
4) 테스트 등등..