anchor.diff:  
   I would assume you are comfortable with 3D math (vector dot product and cross product) and basic trigonometry.
   
  -### Quaternion Definition
  +=== Quaternion Definition
   
   Quaternion is a 4-tuple denoted as stem:[q=(x,y,z,w)]. The length of a quaternion is defined as stem:[\left|q\right| =\sqrt{x^{2}+y^{2}+z^{2}+w^{2}}], just as you would expected from a 4D vector. 
   
  
positive.code: 
  Now we can rewrite our flip composition rule in a more specific form:
  
  *_Any 3D rotation equivalent to rotating angle stem:[θ] along axis stem:[\vec{v}] can be represented as a sequence of 2 flips along axis stem:[\vec{a}] and stem:[\vec{b}], such that stem:[\vec{a}\mid\vec{v}=0], stem:[\vec{b}\mid\vec{v}=0] and the angle from stem:[\vec{a}] to stem:[\vec{b}]: stem:[<\vec{a},\vec{b}>=\frac{θ}{2}]._*
  
  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.
  
  
negative.code: 
  From now on, any quaternion stem:[q] used in this article is by default a unit quaternion, and we will use stem:[q] to describe rotations.
  
  === Rotation and Flip
  
  Now let’s forget quaternion for a minute, and focus on the nature of rotations. This part is the key to understand quaternion calculation in an easier way.
  
  