25
$\begingroup$

I have read the Wikipedia page on gimbal lock, and am still confused about the entire matter. My understanding is that, using a local coordinate system, if you rotate a model about its X axis then its Y and Z axes experience gimbal lock, and become "locked" together. However, my understanding is that if you rotate the X axis, then both the Y and Z axes rotate with it, and as such remain separate. Wikipedia, as always, while a good resource is difficult to understand on this topic. Could someone please endeavor to explain this to a person who does not have a Master's in physics or mathematics?

$\endgroup$
16
$\begingroup$

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:

Gimbal lock on Euler with XYZ evaluation order, by manipulating Y axis.

Here's an article and a video for alternative explanations of the condition.

$\endgroup$
  • 2
    $\begingroup$ Suggest trying the Gimble manipulator Orientation Mode and enable Rotate, then you can see the problem that happens when 2 axis line up. $\endgroup$ – ideasman42 May 30 '13 at 12:43
  • 1
    $\begingroup$ @ideasman42: That's a good demonstration tool. I think what's not readily apparent is why those axis can line up. One tends to picture Euler rotational axis as one rigid body with three perpendicular lines, rotating in unison, while the implementation is not that simple. $\endgroup$ – Adhi May 30 '13 at 13:05
  • 1
    $\begingroup$ Gimbal lock does not arise because the axes are calculated sequentially. It has been proven that any rotation representation with three numbers will have a lock or singularity somewhere. You seem to imply that in the 3rd sentence too but it contradicts the 2nd? $\endgroup$ – brecht May 31 '13 at 10:41
  • $\begingroup$ That means my own understanding of it is faulty. I was trying to put it in the simplest phrasing possible, and based my words on the way others describe it. The article I linked above said, "Any system that uses Eular angles (Maya, Max, Lightwave, Softimage) will have problems with gimbal lock. The reason for this is that Eular angles evaluate each axis independently in a set order." Then I add a second paragraph that purportedly linked the locking to evaluation order. $\endgroup$ – Adhi May 31 '13 at 11:23
  • $\begingroup$ If there's a better and more correct way to explain it in layman's term, I'd really like to know and amend accordingly. I've had many animators struggling to wrap their head around the concept, and found myself constantly looking for better, simpler ways to explain it. $\endgroup$ – Adhi May 31 '13 at 11:32
4
$\begingroup$

For as long as this link will survive, I'd recommend looking at the Guerilla CG video that explains "the rotation problem" as it relates to 3d animation. http://web.archive.org/web/20100815062511/http://guerrillacg.org/home/3d-rigging/euler-rotations-explained

(There are duplicates of the same video on Vimeo and Youtube, but neither have the audio synced with the video properly.)

$\endgroup$
  • 1
    $\begingroup$ excellent video, highly recommend others check it out, though the web.archive link is broken. $\endgroup$ – ideasman42 May 31 '13 at 13:24
  • $\begingroup$ Still works for me. Anyway, I just realized that the first answer already linked a YouTube version which actually does have synced audio. So my answer is kind of useless. $\endgroup$ – Wray Bowling Jul 10 '13 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.