title: Integrate angular velocity as quaternion rotation
body: <p>I have (somewhat blindly) been using quaternions for rotations in physics rigid body simulation for a while, but recently started getting confused about how quaternion rotations are generally defined and how I do it (based on the book Physics for game developers).</p>
  
  <p>In the book you have an angular velocity angVel and a time step dt as well as an initial orientation.</p>
  
  <p>It steps as follows</p>
  
  <p>orientation += 0.5*orientation*angVel * dt </p>
  
  <p>where the quaternion-vector multiplication is done by first converting the vector xyz to the quaternion xyz,0</p>
  
  <p>This works, but everywhere else the procedure is instead to make a quaternion, which defines the time integrated angVel, over dt, and then multiply it on orientation. It essentially converts angVel*dt into a rotation (as makes perfect sense) which is then applied to the original orientation through multiplication, as seen here with better syntax <a href="https://math.stackexchange.com/questions/39553/how-do-i-apply-an-angular-velocity-vector3-to-a-unit-quaternion-orientation">https://math.stackexchange.com/questions/39553/how-do-i-apply-an-angular-velocity-vector3-to-a-unit-quaternion-orientation</a></p>
  
  <p>My question is what 0.5 * quaternion * vector * scalar conceptually <em>is</em> in the above and what <em>adding</em> this resulting quaternion to my orientation is, considering you usually multiply, and not add, to rotate.</p>