Euler (gimbal lock) Explained
Why Blender Stack Exchange recommends it
Blender Stack Exchange answerers link it when someone asks what gimbal lock is or why their rotation keyframes behave strangely, since it explains Euler axes and rotation order clearly.
Recommended by 5 people across 5 different months, 2013 to 2023.
Why Stack Overflow recommends it
Stack Overflow users link it when someone hits odd rotation behaviour in 3D code (Three.js, OpenGL, Unity, ARKit) and needs a quick visual explanation of gimbal lock before switching to quaternions.
Recommended by 5 people across 5 different months, 2011 to 2024.
Why Mathematics Stack Exchange recommends it
Mathematics Stack Exchange users link it in questions and answers about Euler angles and gimbal lock as a visual demonstration of the problem and of rotation order.
Recommended by 1 people across 1 different months, 2017 to 2021.
What it is
A short 2009 animation tutorial from GuerrillaCG explaining Euler rotations in 3D and why gimbal lock happens. It shows how rotation order works like a parent-child hierarchy and how choosing a different order fixes a common camera rotation problem.
What people said
Recommends Adhi · 2013-05 · Blender Stack Exchange · on “Could someone please explain gimbal lock?”
I gather that it's an inherent weakness of just storing three axial rotations (Quaternion, on the other hand, also evaluates orientation value). (Per ideasman42's comment): We can easily see this for any object using Euler rotational system, by manipulating the rotation widget with transformation orientation set to Gimbal . It turns out to be easy to reproduce, by manipulating 2nd axis in the evaluation order (Z for XZY, or X for ZXY, etc.). I get the following condition on XYZ order by just manipulating Y axis: Here's an article [LINK] and a video [this video] for alternative explanations of the condition.
Recommends Wray Bowling · 2013-05 · Blender Stack Exchange · on “Could someone please explain gimbal lock?”
First, I recommend looking at the Guerilla CG video that explains The Rotation Problem [this video] as it relates to 3d animation. This is important because it explains why Euler and Quaternion rotations are different. Unfortunately the only available copy has very poor A/V sync. Cut to the chase in Part 2: Euler (gimbal lock) Explained [this video] 4:18—All together there are 6 parenting combinations to choose from. In each case gimbal lock occurs on the parent when the middle axis is rotated too far. [LINK]
Recommends Francis Cugler · 2015-05 · Stack Overflow · on “openGL rotation reset”
What samgak had said to answer your question will work, however this is something to be aware of and is good to know about to prevent pitfalls later on, when your project becomes large and complex. When working with rotations in 3D space and requiring to rotate about any given axis [X,Y,Z] where in the translation-rotation matrix the rotation is done using Euler Angles there is a known problem that arises. This problem is called Gimbal Lock. Take your sphere for instance a 3D Model that you would like to rotate about any axis; before you begin rotating imagine having a circle or a ring that is larger then your sphere and is placed parallel to each axis. We can say that our X-Axis ring has a
Recommends hawkenfox · 2016-01 · Blender Stack Exchange · on “problem with sharp transitions between rotation keyframes”
The Gimbal Lock ... maybe? You might have tripped on "Gimbal Lock" problem with Euler. And yes Quaternions method let you avoid the "Gimbal Lock" issue. There is a very clear video about gimbal lock issue here ... [this video] Understanding the topic may help you avoid gimbal lock if you want to continue using Euler solutions. To summarise what I have learn is that if your object is a camera, you can avoid Euler's gimbal lock with some good knowledge and learn how to avoid them. However if you are working of an object like a fighter jet that has radical rotation in your scene, it's best to apply Quaternions.
Recommends hawkenfox · 2016-01 · Blender Stack Exchange · on “problem with sharp transitions between rotation keyframes”
You might have tripped on "Gimbal Lock" problem with Euler. And yes Quaternions method let you avoid the "Gimbal Lock" issue. There is a very clear video about gimbal lock issue here ... [this video]
Recommends hawkenfox · 2016-02 · Blender Stack Exchange · on “When should I use Quaternion (WXYZ) and how should I handle the W Quaternion Rotation?”
The use of Quaternion rotation is to avoid the gimbal lock problem with the Euler method. Usually if your object only needs to rotate around one axis or two Euler would do the job. Like a wheel or a wobbling top. But when you have to animate a fighter jet that rotate all around your scene you may encounter the gimbal lock. To understand gimbal lock there is a great youtube video here. [this video] There are also gotchas in quaternions, it tends to solve towards the shorter path. Meaning if you were trying to rotate say 270 degree clockwise, quaternions would solve by rotating 90 degree counter clockwise. So to solve this correctly you need to add a in between keyframe to use quaternions properly.
Recommends Dominique Lorre · 2016-09 · Stack Overflow · on “Understanding Quaternion”
If you use angles you must be aware of the gimbal lock [this video] , so the point of quaternions is to escape gimbal lock. Blender uses quaternion so have a peek there I guess if you want to know more.
Recommends Francis Cugler · 2016-09 · Stack Overflow · on “Converting euler angle rotations to Axis + Angle”
(...continued) You can check this video out the get a clear understanding of Quaternions, maybe not so much mathematically but at least visually. [this video]
Recommends M - · 2017-05 · Stack Overflow · on “Three.js setFromRotationMatrix strange behavior when rotation is over 90 degrees”
You're running into gimbal lock [this video] . When using euler angles you'll always run into gimbal lock issues, and you'll encounter unexpected behavior when applying multiple rotations. For example, in 2D space, a 30° rotation is the same as a -330° rotation. In 3D space, you can get the same problem: rotating an object 180° in the X-axis is the same as giving it a 180° Y-axis + 180° Z-axis rotation. You should declare your rotations using quaternions [LINK] , and then multiply them together to get the desired result without gimbal lock issues. // Declare angles var angleX = 45; var angleY = 120; var angleZ = 78; // Declare X and Y axes var axisX = new THREE.Vector3(1, 0, 0); var axisY = new T
Recommends Osama Ghani · 2020-04 · Mathematics Stack Exchange · on “Understanding Euler Angles and Gimbal Lock”
Even in continuous systems, gimbal lock causes weird issues (if you look at the animation on the Wikipedia page you can see this). The issue of gimble lock isn't inherent with 3D rotations, it's how you do them. If you have systems that can generate rotations along three independent axes, and the way you rotate is through applying combinations (not necessarily discretely, continuously is fine) of these rotations, then you can run into issues. If you have any background in topology, then the issue arises because treating rotations with 3 angles parametrizes rotations by $S^1 \times S^1 \times S^1 \cong T^3$ , but the space of rotations is $\mathbb{R}P^3$ (or $SO(3)$ ) if you want to think of