Original Post
I’m trying to dive an object to a desired orientation by setting the angular velocity. So, I take the current orientation in Eular angles, take the desired orientation in Eular angles, and then set the angular velocity of the object around x, y, and z based on the difference between the Eular angles. This works fine as long as the Eular angles stay small. However, if for instance the object is rotated 180 degrees around the y axis, then applying a positive angular velocity around the x-axis causes the x Eular angle to get smaller, not bigger. Perhaps this is because Eular angles are intended to be applied successively, while angular velocity is applied on all three axes at once? Is it possible to account for this just by changing the sign of the velocity sometimes, or is this approach fundamentally flawed for some reason? This line of thinking may be flawed for other reasons. If the object is rotated 90 degrees around z, (note that I’m not talking about Gimball lock here) then velocity around the x-axis changes the y Eular angle, not the x like I would want. Do I need to “unwind” the Eular rotations to know what velocities are needed to correctly change the Eular angles? Perhaps angular velocity can more predictably change the components of a Quaternion or rotation matrix, such that I can calculate what velocity around x, y and z would move it the right direction? (Note that I cannot set angular velocity around and arbitrary axis, although that would simplify this immensely) Thanks for any advice you can offer, Andy