Sunday, 18 April 2010

The Rotation Problem

As homework, the group were asked to watch a video on http://www.guerrillacg.org/ about the “rotation problem”. I had never heard of this before and was intrigued to know what it was and what implications this problem had on animating in 3D, as well as any possible solutions to get around the rotation problem.

The video started off by identifying the two main different ways of calculating rotation within computer software, Euler and Quaternion.
Euler calculates it’s rotation in degrees on the three axis, where as Quaternion calculates it’s rotation with four values, the first three are position values of a vector direction (numbers on the grid) and one roll value.

The rotation problem only occurs within the Euler type of rotation. It happens when the rotation gimbal locks, two rotation axis align and by doing so affectively reduce the number of axis from three to two. This is problematic when animating within three dimensional space and only having two movable axis. When animating with Gimbal Lock, the computer works out that to get from one key frame to another, it has to move in the wrong direction to enable the two aligned rotation axis to separate.

A good analogy would be if a man were sitting with his arms crossed and someone threw a ball for him to catch. The most efficient way for him to catch the ball would be to move his arms directly toward the oncoming ball. However as his arms are tied up in this theoretical Gimbal Lock, so the man has to move his arms away from each other and the ball so they are uncrossed, this allows his arms to be able to move in the direction of the ball to catch it.

This rotation problem sounds enough for an animator to use the Quaternion way of animating rotation. However, Quaternion animation doesn’t have animation cures and Euler animation does, so it is usually more beneficial to animate in Euler, especially organic motion.

No comments:

Post a Comment