개념에서 수식으로
먼저 이해할 내용
이미 회전행렬을 알고 있다면, 그 안의 정보를 다시 쿼터니언 네 성분으로 정리할 수 있다. 이 글에서는 대각 성분을 더하거나 빼서 각 성분의 제곱을 분리하고, 나머지 성분의 차이로 부호를 정하는 흐름을 다룬다.
기호를 먼저 읽기
- r₁₁, r₂₂, r₃₃
- 회전행렬의 세 대각 성분
- q₁ … q₄
- 복원하려는 쿼터니언 성분
- Sign[·]
- 값의 부호를 구별하는 연산
- q₁²+q₂²+q₃²+q₄²
- 단위 쿼터니언에서는 1이 되는 합
이 글의 흐름
결과식을 먼저 살핀 뒤 단위 길이 조건을 사용하여 대각 성분 조합을 정리한다. 각 조합이 4qᵢ²로 모이는 과정을 확인하면 제곱근과 1/2 계수가 등장하는 이유를 이해할 수 있다.
크기를 구하는 식과 부호를 정하는 식을 나눈다
q₁은 대각 성분의 합으로 구하고, q₂·q₃·q₄는 대각 성분의 차이와 Sign 항을 함께 사용한다. 제곱근은 성분의 크기에 관련되고, Sign은 방향에 관련된다. 따라서 제곱근 부분만 계산해서는 전체 쿼터니언을 결정한 것으로 볼 수 없다.
주제와 표기
Rotation Matri →Quaternio
Rotation Matrix R → Quaternion
수식을 불러오지 못했습니다.
1
단위 길이 조건을 이용해 항을 묶는다
먼저 네 성분의 제곱합이 1이라는 조건을 둔다. 다음으로 r₁₁+r₂₂+r₃₃+1에 각 대각 성분의 표현을 대입한다. 같은 종류의 항을 묶고 제곱합을 1로 바꾸면 4q₁²가 남는다.
2
다른 성분도 같은 방식으로 분리한다
대각 성분의 부호 조합을 바꾸면 q₂², q₃², q₄²를 각각 남길 수 있다. 네 식의 모양을 따로 외우기보다 어떤 대각 성분은 더하고 어떤 성분은 빼는지 비교한다. 마지막 q₄ 전개의 중간에는 a₄라는 표기도 나타나므로, q₄와의 동일성이 별도 정의 없이 확정된 것으로 읽지 않는다.
3
분리한 제곱을 성분으로 되돌린다
4qᵢ²에서 성분을 얻으면 제곱근 앞에 1/2이 붙는다. 나머지 부호는 처음 제시한 차이와 Sign 항으로 연결된다. 근호 안이 허용 범위에 있는지, 선택한 부호식이 0이 되는지까지 확인해야 실제 계산으로 옮길 수 있다.
정리하면
대각 성분의 조합은 쿼터니언 성분의 크기를, 비대각 성분의 차이는 부호 선택의 단서를 제공한다. 다만 부호식이 0이 되는 경우까지 모든 회전에서 자동으로 해결된다고 단정하지 않는다.