초보 코린이의 성장 일지

짐벌락 (GimBal Lock) 본문

개인 공부

짐벌락 (GimBal Lock)

코오린이 2023. 9. 27. 19:40

짐벌락
1. 두 축이 한축으로 합쳐지면서 한축에 대한 계산이 불가능해지는 현상

오일러 - 3차원 공간 좌표계의 회전
1. x, y, z를 순서대로 해당 축들을 개별적으로 계산하는 방법
2. 한꺼번에 축들이 돌아가는걸 계산할 수 없다.
3. 회전축을 순서대로 계산하기 때문에 짐벌락 현상 발생.
4. 각 축이 순서대로 계산되기 때문에 우리가 아는 x축으로 회전을 했을 경우 수평하게 회전하는것이 아닌 다른 축의 계산된 값이 개입되서 회전하게 되므로 사선으로 회전을 하게 된다.

쿼터니언 (사원수)
1. x, y, z축들을 한꺼번에 계산할 수 있는 방법 
2. 짐벌락 현상이 해결된다.
3. 180도 기준으로 계산했을 경우, 180도를 넘게된다면 기준점에서 제일 가까운 곳으로 회전을 한다. 이를 해결하려면 180도가 아닌 179도로 180도을 못넘게 만들어서 회전시켜야한다.
4. 계산을 할때 축 순서가 바뀌어도 결과가 일치하다.

사원수 
1. 3차원 그래픽에서 회전을 할 때, 행렬 대신 사용하는 수학적 개념으로 4개의 값으로 이루어진 복소수 체계.
2. 4차원 복소수 공간을 벡터로 나타낸다면 - q = <w, x, y, z> = w + xi + yj + zk (w = Scalar / x, y, z =  Vector를 나타낸다)

'개인 공부' 카테고리의 다른 글

C++ Byte Padding  (2) 2024.04.22
C++ Casts  (0) 2024.04.11
C++ Static  (0) 2023.07.27
C++ malloc, free, new, delete 차이  (0) 2023.07.25
C++ Extern  (0) 2023.07.21
Comments