핵심:
- 회전도 선형 변환이다.
- 따라서 회전도 행렬로 표현할 수 있다.
- 어떤 포인트를 회전시키고 싶다면, 벡터 곱하기 행렬형태로 사용할 수 있다.
회전축에 대한 벡터의 회전
- 먼저 회전 축을 정해야 한다.
- 그 다음 몇도만큼 회전할지 정해야 한다.
컴퓨터 그래픽스에서는 3차원 회전에 가장 기본적으로 사원수(Quaternion)을 사용한다.
|| n x v || == || v ⊥ || 이렇게 길이가 같은데 왜 같을까?
크로스 프로덕트해서 나온 벡터의 길이는 두 벡터가 만드는 평행사변형의 넓이와 같다.
사각형의 넓이는 밑변 x 높이
밑변은 w, 높이는 |v|sinθ 다.
따라서 || n x v || == || v ⊥ || 이다.
따라서 두 벡터가 원을 정의 할 수 있다.
그래서 그 원을 위와같이 한 평면으로 보면,
sin( θ ) n x v 가 빨간색 부분이 된다.
같은 원리로 cos( θ ) v⊥ 가 노란색의 짧은 벡터가 된다.
과정을 말로 정리하면
Rodrigues' rotation formula (로드리게스 회전 공식)
참고로 회전행렬의 역행렬은 Transpose 행렬과 동일하다.
이 성질을 이용해서 컴퓨터에서 연산에 최적화에 사용할 수 있다.
로보틱스, 비전, 그래픽스에 자주 사용되는 성질이다.