Scene Rotation is somehow working not correctly

Mar 15, 2013 at 9:46 AM
Hey guys,

I'm currently working on the rotation of my whole scene. The probleme that i m experiencing is that if i rotate around X or Z it seems like the axis are also rotating; I cannot show any pictures but what i do is basically this:
_rotValue = 0;
_sceneAngleZ = v.X * 2;
_sceneAngleX = v.Z * 2;
_rotation *= Quaternion.CreateFromAxisAngle(Vector3.UnitZ, _sceneAngleZ);
_rotation *= Quaternion.CreateFromAxisAngle(Vector3.UnitX, _sceneAngleX);
and then this in the update method:
_sceneTransformNodeZ.Rotation *= _rotation;
_rotValue = _rotValue + 0.2;
_rotation = Quaternion.Lerp(_rotation, Quaternion.Identity, (float)_rotValue);
The _sceneTransformNodeZ is a TransformNode to which i add all my objects that are shown and drawn in the scene.

Its not rotating intuitive e.g. a rotation around Z with 45 degree (up-axis) of a rectangle is correct in the first approach but if i then rotate this around X with again 45 degree its thenm rotating around Y and not on the orginal X axis. Can someone help me ?

cheers, LordTribual