   Uneven Rotation  *Solved*
  The entity I want to rotate has an angular velocity vector, where the size gives the angle per time interval and the direction gives the vector, which the entity rotates about.The orientation is stored as an up, forward and right vector.  Now every frame I convert the angular velocity to a quaternion, with the angle as the size multiplied by the change in time and the direction as the normalised vector.  Of course I have w as cos(angle) and the rest multiplied by sin(angle).  Is this right?  Is the input vector supposed to be a unit vector.  Or is the final quaternion supposed to be size 1?Well anyway I then take this quaternion and apply it to my 3 orientation vectors.  The result is quite good.  My vectors move in a perfect circle.  However, here is when the problem arises.  The angular velocity appears not to be constant.  It will rotate quite quickly and then slow down, then quickly again.  It appears to do this twice a cycle.Any thoughts?Now I'm going to mess around making some thing unit and some not and see what happens.[edited by - higherspeed on May 11, 2003 10:20:45 AM]
  Actually thinking about it, if the vector is unit in the first place then the quaternion will be unit by definition.cos(angle)^2 + (xsin(angle))^2 + (ysin(angle))^2 + (zsin(angle))^2= cos(angle)^2 + sin(angle)^2(x^2 + y^2 + z^2)= cos(angle)^2 + sin(angle)^2= 1So that means I''ve run out of ideas.  Help?  ;  Ok I feel really silly now, I''ve solved it within 15mins of posting.  I had just misread one of the equations.  Now if only people would align their indices with ASCII equations.  I should have spotted the problem.  Oh well, if you''ve read thanks for reading. ;  It seems you renamed the title to "Uneven Rotation *Solved*" (adding "*Solved*"), just out of curiosity, how do you rename thread titles?    ********A Problem Worthy of AttackProves It''s Worth by Fighting Back  ;  Just load up the thread and edit your first post, you can edit the text and title.  