This is incredible property with relative coordinate systems, what if we use two different coordinate system and perform transformations on the fly?

keatonfs

Found a interesting video explaining gimbal lock on the Apollo 13 mission: https://www.youtube.com/watch?v=OmCzZ-D8Wdk

LeslieTrue

To nociza, what do you mean by "use two different coordinate system"?

The representation of euler angles plus the matrix multiplication will cause the loss of degree of freedom, thus leading to gimbal lock. Here's some mathematical examples:
https://math.stackexchange.com/questions/8980/euler-angles-and-gimbal-lock

Other representations of rotation may fix the problem such as quaternion(mentioned in following slides). Quaternion is useful and popular in practicle use e.g. in Unity Engine.

SeanW0823

Good video demonstrating gimbal lock with an airplane that helped me understand how two rotational axes get aligned when the plane is pointing up or down.

TonyLianLong

One often ignored aspect to understand the gimbal lock is the relative ordering. When we rotate by z-axis first, y and x axis later, the y and x axis will be rotated as well, because three rotations are matrix multiplications with order from the right to the left.

Staffjamesfobrien

If each rotation is applied one at a time by rotating around the appropriate world axis, then the result is that the first axis (normally x) gets "moved" by the subsequent rotations. You can do something slightly different and apply each rotation about the plane's appropriate axis. Sadly, that doesn't change the problems because the result of using object-relative axes is the same as using world-relative axes with the order reversed. (If you write out both versions, it's easy to see how they end up the same in reversed order.)

This is incredible property with relative coordinate systems, what if we use two different coordinate system and perform transformations on the fly?

Found a interesting video explaining gimbal lock on the Apollo 13 mission: https://www.youtube.com/watch?v=OmCzZ-D8Wdk

To nociza, what do you mean by "use two different coordinate system"?

The representation of euler angles plus the matrix multiplication will cause the loss of degree of freedom, thus leading to gimbal lock. Here's some mathematical examples: https://math.stackexchange.com/questions/8980/euler-angles-and-gimbal-lock

Other representations of rotation may fix the problem such as quaternion(mentioned in following slides). Quaternion is useful and popular in practicle use e.g. in Unity Engine.

Good video demonstrating gimbal lock with an airplane that helped me understand how two rotational axes get aligned when the plane is pointing up or down.

One often ignored aspect to understand the gimbal lock is the relative ordering. When we rotate by z-axis first, y and x axis later, the y and x axis will be rotated as well, because three rotations are matrix multiplications with order from the right to the left.

If each rotation is applied one at a time by rotating around the appropriate world axis, then the result is that the first axis (normally x) gets "moved" by the subsequent rotations. You can do something slightly different and apply each rotation about the plane's appropriate axis. Sadly, that doesn't change the problems because the result of using object-relative axes is the same as using world-relative axes with the order reversed. (If you write out both versions, it's easy to see how they end up the same in reversed order.)