220726) 사원수(Quaternion), 오일러회전(Yaw,Pitch,Roll), 짐벌락(gimbal lock)
사원수(Quaternion) a+bi+cj+dk 형태의 수(a,b,c,d는 실수)이다. 다음과 같은 성질을 만족시킨다. ※ 사원수의 곱셈은 교환법칙을 만족시키지 않는다. 어떤 물체의 자세를 기준좌표계에 대하여 표현할 때, 단위벡터 (e1,e2,e3)에 대하여 θ만큼 회전한 자세는 사원수로 다음과 같이 표현한다. 사원수는 4개만의 적은 개수의 숫자로 회전을 표현하여 효율적인 계산을 할 수 있다. 오일러각도와 YawPitchRoll 축을 통한 회전에는 두 가지 방법이 존재한다. 1. 오일러 각도를 통한 회전(post-multiplication, 행렬을 뒤에 곱하는 방법) 2. YawPitchRoll을 통한 회전(pre-multiplication, 행렬을 앞에 곱하는 방법) ----- 오일러 각도 강체의 자세를 좌표축의 회전으로 표현하는 여러 방법 가운데 하나로, 3x3 회전행렬을 직관적으로 이해하고 행렬의 원소를 단 3개의 Parameter로 간략하게 표현하기 위해 사용하는 방법이다. (Z축을 기준으로 θ만큼 회전했을 때의 행렬) ----- Yaw, Pitch, Roll 강체의 자세를 '고정된' 회전축을 기준으로 회전을 표현하는 방법이다. Roll: x축을 기준으로 회전한 각도 Pitch: y축을 기준으로 회전한 각도 Yaw: z축을 기준으로 회전한 각도 이를 행렬으로 표현하면 다음과 같다. 짐벌락 현상(Gimbal lock) 같은방향으로 오브젝트의 두 회전 축이 겹치는 현상. 짐벌락이 발생하는 경위는 다음과 같다. 1. x축, y축, z축 각각의 회전행렬을 만든다. yaw(y축 회전각) pitch(x축), roll(z축) 2. 회전 행렬을 객체의 변환행렬과 각각 순서대(x, y, z)로 곱한다.(오일러각) 3. x축을 90도 틀고난 후 y축으로 90도 튼것과 y축을 90도 틀고난 후 z축으로 90도 튼것과의 회전 값이 같다. 4. 세 개의 축 각을 이용하여 항상 순서대로 회전을 하면 위와같이 한 개의 축이...