[quote]The point you seem to be missing is that those Euler angles need to be applied to the object you are rotating
[/quote]
yep I believe I probably missed something…
ok, I try to better explain myself:
your object rotation is set using the following sequence of rotation rx,ry,rz (euler ok ?)
you can go in a pos A with euler angle but you can also go in a pos B ok ?
so to go from A to B it is rx+=rxb-rxa, ry+=ryb-rya, rz+=rzb-rza ok ?
and what you have to do is to compute rya,ryb,rzb and that can be achieved
you can go from one pos to another applying rx+=drx,ry+=dry,rz+=drz, no ?
once again I really dont understand why you point that one (link)
[quote]the last axis is processed one of the axis could be aligned to another,
[/quote]
this is not possible as explained above Axis are rigid, you cant rotate one without rotate the two other, or you are confusing world and local space.
when you rotate in any direction you began to influence other rotation, as if you rotate around x and around y then the amount you rotate around y depend about the rotation you made around x basically
rotate arround x==0 => your axis are aligned and rotating around y is not affected 100%
but when you start to increase rx it become false and rotation around y is no more 100% it decrease and reach 0 at 90°. the gimbal lock is just the end of a degenration of your rotation axis, but this doesn’t lock anything and this particulary does’nt avoid any rotation even if you set your object rotation using three consecutive world space rotation.
EDIT:
ps: I was just asking what problems it can cause (this is this point that I missed the most)?
but finally you point that one too, with one I fully aggree.
[quote]To avoid Gimbal lock completely checks need to be placed in code whenever there is a chance of it occurring, or alternatively a different way of rotating can be used
[/quote]
but once again, this seems for me to results from a confusion ( or probably mine confusion ) about performing a world or a local object space rotation. because once you have made one rotation even small all your axis become not aligned to world one and so performing any more rotation doesn’t make what you expect it should do, but this become to be true when you start any rotation, I mean if you call pitch the rotation around x and you have performed a roll rotation before, your picth rotation is affected and is already false and become completly false (0%) at 90% because you try to perform a rotation in world axis and one of your ocal axis has become coolinear to a world axis wich is different then the one it was colinear with at init time.
so when your perform the sequence rx,ry,rz you must keep in mind that it is not directly local rx,ry,rz and that if you want to rotate around any of the three axis x,y,z you have to read it back not increase rx or ry or rz. but that’s only a confusion if you try to do such (IMHO)
NB: I believe it exist , ofcourse, as I have hear this term a lot of time,but what I am just trying to understand is when ? it cause problem and how ? in 3D software as I understand the problem in a gimbal system as above but not why it should/can be same in 3D software that allow us to put an object in any other rotation pos immediatly and so to rotate to any pos at anytime.