개념에서 수식으로
먼저 이해할 내용
물체가 어느 방향을 향하고 있는지 설명하려면, 회전의 크기뿐 아니라 회전축과 기준 좌표계도 함께 정해야 한다. 이 글에서는 이러한 회전을 네 성분으로 나타내는 쿼터니언을 살펴본다. 숫자 네 개를 별개의 각도로 보는 것이 아니라, 하나의 회전을 함께 표현하는 값으로 이해하는 것이 출발점이다.
기호를 먼저 읽기
- q₁
- 이 글에서 첫 번째에 놓인 스칼라 성분
- q₂, q₃, q₄
- 회전축 정보가 반영된 세 벡터 성분
- r̂, θ
- 길이가 1인 회전축과 회전각
- A, B, C
- 벡터를 나타내는 기준 좌표계의 이름
- ⊗
- 순서를 구별해야 하는 쿼터니언 곱
- q*, ‖q‖
- 켤레와 쿼터니언의 크기
이 글의 흐름
먼저 회전축과 각도를 네 성분으로 옮긴다. 다음으로 길이 조건과 켤레를 확인하고, 곱셈을 통해 여러 회전을 연결한다. 마지막에는 같은 변환을 회전행렬로도 읽고, 시간에 따른 변화율로 확장한다.
네 성분에 하나의 회전을 담는다
이 글의 첫 번째 관심은 좌표계 A에서 본 좌표계 B의 방향이다. 위아래에 붙은 A와 B는 거듭제곱이나 곱셈이 아니라 좌표계의 관계를 구별하는 이름으로 읽는다. 같은 벡터라도 어느 좌표계의 성분인지에 따라 숫자가 달라질 수 있으므로, 먼저 기준을 정한다.
주제와 표기
Quaternion representation
A quaternion is a four-dimensional complex number
An arbitrary orientation of frame B relative to frame A
The coordinate system {A} is rotated by θ relative to the direction is called the coordinate system {B}, it is called the quaternion .
그림을 불러오지 못했습니다.
회전축과 회전각을 먼저 정한다
회전축 r̂의 세 성분은 x·y·z 방향으로 얼마나 향하는지 나타낸다. 각도 θ는 이 축을 중심으로 얼마나 회전하는지를 나타낸다. 축의 길이를 1로 맞추는 이유는 회전축의 방향과 크기 정보를 분리하기 위해서이다.
A rotation of angle θ around an axis defined in frame A
Angle
normalized four-dimensional vector
반각을 이용하여 쿼터니언을 만든다
먼저 θ를 2로 나누고, 그 반각의 코사인을 q₁에 넣는다. 나머지 세 성분은 회전축의 각 성분에 반각의 사인을 곱하여 구성한다. 이 부분에서는 벡터부 앞에 음의 부호를 사용하므로, 이후의 회전 변환도 같은 정의를 따라 읽어야 한다.
네 성분의 제곱합이 1이라는 다음 식은 단위 쿼터니언의 조건이다. 이는 네 성분이 서로 무관한 네 개의 회전각이 아니라, 하나의 길이 조건으로 연결되어 있음을 보여준다.
the quaternion paramentrization obeys
hypercomplex numbers {i,j,k}
i, j, k의 곱에서는 순서가 중요하다
a는 실수 성분이고 b·c·d는 세 기저 i·j·k에 대응하는 계수이다. i², j², k²가 모두 −1이라는 규칙과 함께, ij와 ji의 부호가 반대라는 점을 확인한다. 따라서 일반적인 실수 곱셈처럼 앞뒤 순서를 바꾸어 정리하면 안 된다.
A quaternion conjugate
켤레와 연속 회전을 구별한다
켤레는 첫 성분을 유지하고 나머지 세 성분의 부호를 바꾼다. 단위 쿼터니언의 회전 문맥에서는 반대 방향의 변환을 연결하는 데 사용한다. 이어지는 곱셈 식은 A에서 B, 다시 C로 이어지는 관계를 하나로 묶은 것으로, 중간 좌표계와 곱의 순서를 함께 확인한다.
A quaternion product ⊗
Hamilton rule
곱셈을 성분 계산으로 펼친다
Hamilton rule 아래의 전개는 추상적인 곱 기호를 네 성분의 계산으로 옮기는 구간이다. qₐ와 qᵦ의 성분을 정한 뒤, 제시된 행렬의 열과 행을 따라 곱하고 더한다. 행렬 표현과 최종 성분 표현이 같은 연산을 나타내는지 살펴보는 것이 핵심이며, 그림에만 있는 세부 항은 실제 식을 확인하며 따라간다.
수식을 불러오지 못했습니다.
proof
수식을 불러오지 못했습니다.
수식을 불러오지 못했습니다.
Euler axis
회전축 표기와 반각의 부호를 확인한다
여기서는 Euler axis를 ê로 놓고 각 성분을 다시 적는다. 앞부분의 r̂ 표기와 달리 사인 항 앞의 부호가 달라 보이므로, 두 표현을 조건 확인 없이 같은 코드에 섞지 않는다. 반각 식에 ±가 나타나는 이유도 제곱한 값만으로 원래의 부호를 정할 수 없기 때문이다. 각도의 범위와 제곱근이 적용되는 범위를 함께 읽는다.
Vector's Elements
Half Angle Identities
Choice of ± sign depends on the quadrant in which θ/2 lies .
Norm
크기와 역변환은 서로 다른 개념이다
노름은 네 성분을 각각 제곱하여 더한 뒤 제곱근을 취한 크기이다. 켤레는 성분의 부호만 바꾸므로 이 크기를 바꾸지 않는다. 역변환을 설명하는 식은 이 글의 단위 쿼터니언 조건과 함께 읽으며, 비단위 쿼터니언에 분모를 그대로 적용할 수 있다고 일반화하지 않는다.
Inverse
Quaternion
A three dimensional vector
3차원 벡터를 회전 계산에 넣는다
벡터의 x·y·z 성분 앞에 0을 붙이면 쿼터니언 곱에 넣을 수 있는 네 성분 형태가 된다. 이때 0은 새로운 공간축이 아니라 스칼라 성분을 비워 둔 것이다. q, 벡터, q*를 차례로 곱한 식은 회전 전후의 벡터 표현을 연결하며, 이어지는 식은 이 변환을 두 번 적용한 관계를 보여준다.
그림을 불러오지 못했습니다.
회전행렬과 같은 좌표 변환을 비교한다
회전행렬 R을 벡터에 곱하는 표현도 앞에서 다룬 좌표 변환을 나타낸다. A→B→C를 차례로 적용한 식과 A→C를 한 번에 적용한 식을 비교하면, 연속 변환이 행렬의 곱으로 묶이는 이유를 이해할 수 있다. 어느 좌표계의 벡터가 입력되고 어느 좌표계로 나오는지를 먼저 읽는다.
Rotation Matri
Derivative of Quaternion
회전의 변화율로 연결한다
q 위의 점은 시간에 대한 변화율을 뜻한다. 각속도 ω와 현재 쿼터니언의 곱으로 q가 얼마나 빠르게 변하는지 표현하는 식이다. 이 식 자체가 다음 시점의 자세는 아니며, 시간 간격에 대한 누적은 각속도 기반 자세 추정 문서에서 이어서 다룬다.
정리하면
쿼터니언을 이해한다는 것은 네 숫자를 외우는 일이 아니라, 좌표계·성분 순서·회전 방향을 일관되게 연결하는 일이다. 같은 기호를 사용하더라도 정의가 달라지면 곱의 순서와 부호도 달라질 수 있다.




























































































































