anchor.diff:  
   When we put a vector stem:[\vec{v}] in quaternion multiplication, we are implicitly making that vector the axis of a flip to stuff it into a quaternion stem:[(\vec{v},0)]. This is how the “sandwich” multiplication form comes from, but only in the form of flip. We will prove that our result holds the same for any rotation in the next section.
   
  -=== Rotate Vector
  +== Rotate Vector
   
   We know any 3D rotation stem:[q] can be broken down into 2 flips stem:[q= -{q_b}{q_a}], which means flipping along stem:[\vec{a}] first and then stem:[\vec{b}]. So for a vector stem:[\vec{v}], we apply the first flip and get
   [stem]
  
positive.code: 
  This representation means if we fully understand flip, which is easier to visualize, we can fully understand rotation and quaternions, since any quaternion can be broken down to flips.
  
  === Quaternion and Flip
  
  Now let’s recall the quaternion vector form stem:[q=(sin⁡\frac{θ}{2}\vec{v},cos⁡\frac{θ}{2})]. With the discussion of flips above, you can almost immediately see why we are using stem:[\frac{θ}{2}] here.
  
  
negative.code: :stem: latexmath
  :figure-caption!:
  
  == Before We Start
  
  Quaternion is widely used in game engines to represent 3D rotation. As a game engineer you might be using quaternion explicitly or implicitly in your daily work, but do you really understand what is going on under the hood when you are calling “rotate a vector” or “combine two rotations”? Why rotating a vector stem:[v] by quaternion stem:[q] is calculated by a “sandwich” multiplication: stem:[qvq^{-1}] ? Why rotating by quaternion stem:[q_1] then stem:[q_2] is in the reversed order: stem:[{q_2}{q_1}], and can you visualize the result rotation axis and angle?
  
  