개념에서 수식으로
먼저 이해할 내용
복잡한 회전도 하나의 회전축과 그 축 주위의 회전각으로 바라볼 수 있다. 이 글은 축을 기준축에 맞추어 회전한 뒤 되돌리는 방식으로 행렬을 구성하고, 반대로 행렬에서 축과 각도를 읽는 관계를 다룬다.
기호를 먼저 읽기
- r
- (rₓ,rᵧ,r_z)=길이가 1인 회전축
- ϑ
- 축을 중심으로 한 회전각
- α, β
- 축을 기준 방향에 맞추기 위한 보조 각도
- rᵢⱼ
- 회전행렬의 성분
이 글의 흐름
보조 회전으로 축을 정렬하고 원하는 각도만큼 회전한 뒤 정렬을 되돌린다. 그 결과를 축 성분으로 표현하고, 마지막에는 행렬의 대각합과 비대각 차이에서 각도와 축을 구한다.
축을 정렬하고 회전한 뒤 되돌린다
R_z[α]와 Rᵧ[β] 같은 보조 변환은 임의의 축을 다루기 쉬운 방향에 맞추기 위해 사용한다. 가운데 회전이 실제로 원하는 ϑ 회전이다. 뒤에 나타나는 음의 각도는 앞서 한 정렬을 되돌리는 역할로 읽는다.
주제와 표기
γ/ϑ → Axis/Angle→Rotation Matri
수식을 불러오지 못했습니다.
수식을 불러오지 못했습니다.
Rotation Matrix R
그림을 불러오지 못했습니다.
1
2
축 성분을 보조 각도로 바꾼다
rₓ와 rᵧ로 수평 성분의 길이를 구하고, 이를 이용해 α의 사인·코사인을 정한다. β는 수평 성분과 수직 성분 r_z의 관계를 나타낸다. 분모에 수평 성분의 길이가 있는 식은 그 길이가 0인 경우에 별도의 처리가 필요하다.
3
4
단위축 조건으로 전개를 줄인다
rₓ²+rᵧ²+r_z²=1을 이용하면 길이에 관련된 항을 줄일 수 있다. 제곱근과 분모가 포함된 중간식은 부호와 정의역까지 확인해야 하므로, 제곱 관계를 이용했다는 이유만으로 원래의 부호가 자동 복원된다고 보지 않는다.
5
수식을 불러오지 못했습니다.
행렬에서 회전각과 축을 다시 얻는다
세 대각 성분의 합에서 코사인 관계를 얻고 ArcCos로 각도를 읽는다. 이어서 서로 마주 보는 비대각 성분의 차이를 2sinϑ로 나누어 축 성분을 구한다. sinϑ가 0인 경우에는 이 나눗셈을 할 수 없으므로, 이 식을 모든 각도에 무조건 적용하지 않는다.
Rotation Matrix R → Axis γ/Angle ϑ
정리하면
축-각도 표현은 회전의 기하학적 의미를 직접 보여준다. 다만 역변환 식의 분모가 0이 되는 회전은 일반식에 그대로 넣을 수 없으므로 분리해서 살펴야 한다.