π μ€μΌλ¬ κ°μ νκ³λ‘ μΈν΄ λ°μνλ μ§λ² λ½ (Gimbal Lock)μ λν΄μ μμ 보μ.
μ΄μ , c++λ‘ μ‘ν°μ νμ μ ꡬννλ μ€μ rollμ΄ -90Β° ~ 90Β°λ₯Ό κΈ°μ€μΌλ‘ λ μ΄μ νμ νμ§ λͺ»νλ λ¬Έμ κ° μμμ΅λλ€.
μ΄λ μ€μΌλ¬ κ°λλ₯Ό μ¬μ©ν λ λ°μνλ μ§λ² λ½ (Gimbal Lock)μ΄ μμΈμ λλ€.
μ§λ² λ½ (Gimbal Lock)κ³Ό ν΄κ²° λ°©λ²μ λν΄μ μμ λ³΄κ² μ΅λλ€.
μ§λ² λ½μ λν΄μ μ΄μΌκΈ°λ₯Ό μμνκΈ° μ μ μ°μ μ€μΌλ¬ κ° (Euler Angle)μ λν΄μ λ¨Όμ μμμΌ ν©λλ€.
κ·Έ μ λͺ
ν μ€μΌλ¬ λ§μ΅λλ€.
κ°μ²΄κ° λμΈ λ°©ν₯μ 3μ°¨μ 곡κ°μ νμνκΈ° μν΄ λ μ¨νλ₯΄νΈ μ€μΌλ¬κ° λμ ν μΈ κ°μ κ°λμ΄λ€.[1] μ¦, 3μ°¨μ νμ κ΅° SO(3)μ ν μ’νκ³λ€. 3μ°¨μ 곡κ°μ λμΈ κ°μ²΄μ λ°©ν₯μ μ€μΌλ¬ κ°λλ₯Ό μ¬μ©νμ¬ μΈ λ²μ νμ μ ν΅ν΄ μ»μ μ μλ€.
μ€μΌλ¬ κ°(Euler Angle)μ΄λ "κ°μ²΄κ° λμ λ°©ν₯μ 3μ°¨μ 곡κ°μ νμνκΈ° μν΄ λμ ν 3κ°μ κ°λ" μ λλ€.
κ°μ²΄λ 물리νμμ ννκ° κ³ μ λμ΄ λ³νμ§ μλ 물체λ₯Ό λ»ν©λλ€. Static Meshλ‘ λμ νμ¬ μκ°νμλ©΄ λ κ² κ°μ΅λλ€.
3μ°¨μ 곡κ°μ μ°λ¦¬κ° μ΄κ³ μλ μΈκ³λ‘ μ¦, X,Y,Z 3κ°μ μΆμΌλ‘ λνλΌ μ μμ΅λλ€. 3D λͺ¨λΈλ§μ ν μ μλ νκ²½λ ν¬ν¨ν μ μκ² μ£ .
μ΄λ μΈλ¦¬μΌ μμ§μμμ κ°μ²΄μ νμ μΆμ μλ μ¬μ§κ³Ό κ°μ΄ λνλΌ μ μμ΅λλ€.
Ξ±μ λν νμ μ ZμΆμ μ€μ¬μΌλ‘ Yaw νμ μ΄,
Ξ³μ λν νμ μ YμΆμ μ€μ¬μΌλ‘ Pitch νμ μ΄,
Ξ²μ λν νμ μ XμΆμ μ€μ¬μΌλ‘ Roll νμ μ΄ μ°μ°λ©λλ€.
Ξ±μ Ξ³μ κ²½μ° μ΄μμ μΈ μν©μμ 2Ο λΌλμ(360Β°)κΉμ§μ΄λ©°
Ξ²μ κ²½μ° -Ο/2 ~ Ο/2(-90Β° ~ 90Β°)κΉμ§κ° λλ€.
μ¬κΈ°μ Ξ² λ²μκ° μ νμ μΈ κ²μ μ§λ² λ½ (Gimbal Lock)μ΄λΌ ν©λλ€.
νμ μ κ³μ°ν λ μ ν΄μ§ Z->Y->X μμλλ‘ μ°μ°μ μ§νν©λλ€.
μ΄λλ μμ νμ ν λ μΆμ μν₯μΌλ‘ μΈ λ²μ§Έ νμ μΆμ΄ λ€λ₯Έ μΆκ³Ό μ λ ¬λλ©° νλμ μΆμ²λΌ λμ΄λ²λ¦¬λ κ²μ λλ€.
μμλ₯Ό μ¬μ§μ 보며 μ€λͺ νκ² μ΅λλ€.
μλμ κ°μ΄ λΉνκΈ°κ° μ μλ€κ³ νκ² μ΅λλ€.
μ΄λ Pitchμ 90Β°λ§νΌ νμ ν΄λ³΄κ² μ΅λλ€.
κ·ΈλΌ μλ μ¬μ§μ²λΌ λΉνκΈ°κ° μΌμ΄λκ² λ©λλ€.
μ¬κΈ°μ X,ZμΆμ΄ μ λ ¬λμ΄ Yaw, Roll νμ μ΄ λμΌν κ²°κ³Όκ°μ κ°μ Έμ€κ² λ©λλ€.
λ μ΄μ Roll νμ μ ν μ μκ² λλ κ²μ
λλ€.
3κ°μ μΆμ΄ μμ‘΄μ μ΄λΌλ λ»μ΄μ£ .
μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μ μΏΌν°λμΈ(Quaternion)μ΄ λμ λμμ΅λλ€. 4μμλΌκ³ λ λΆλ¦½λλ€.
κ°λ¨νκ² 1κ°μ μΆμ μΆκ°λ‘ κ½μ λ²λ¦° κ²μ
λλ€.
3μ°¨μ κ·Έλν½μμ νμ μ ννν λ, νλ ¬ λμ μ¬μ©νλ μνμ κ°λ μΌλ‘ 4κ°μ κ°μΌλ‘ μ΄λ£¨μ΄μ§ 볡μμ 체κ³μ λλ€.
μ§λ² λ½ (Gimbal Lock)μ ν΄κ²°νκΈ° μν μ΄μ μΈμλ λ€λ₯Έ μ₯μ λ μμ΅λλ€.
μ¬μ€ μΌλ°μ μΌλ‘ μ§λ² λ½(Gimbal Lock)μ΄ λ°μνκΈ°λ μκ°λ³΄λ€ μ΄λ ΅λ€κ³ ν©λλ€.
κ·Έλ¦¬κ³ λ¬΄μλ³΄λ€ μ€μΌλ¬ κ°μ μ¬μ©ν νμ μ΄ μ¬μ©νκΈ° λ¬΄μ² νΈν©λλ€...
μ¬κΈ°κΉμ§ μ§λ² λ½ (Gimbal Lock)μ λν΄μ μμ 보μμ΅λλ€.