No game developer knows how they work, we just think it's name sounds cool.
- A quaternion is made up of a scalar w and a vector component.
- A quaternion p can be listed as [w, v] or [ w, (x, y, z) ].
- It's math is based on complex numbers and makes no sense for anyone.
- To negate a quaternion we negate each component in it. -q =) [-w, -n]
- The identity quaternion i = [1, 0].
- The magnitude of a quaternion is ||q|| = sqrt(w2 + ||v||2).
- The conjugate of q is obtained by negating the vector portion of the quaternion. q* = [w, -v]
- The inverse of q is the conjugate divided by its magnitude. q-1 = q* / ||q||.
- If only unit vectors are used then the inverse is the same as the conjugate.
Axis Angle Pair:
- With n the axis of rotation and θ the angle around it then q = [ cos(θ/2), sin(θ/2)n, ) ].
- Rotating a single vector using a quaternion - 2019
- Visualizing quaternions - An explorable video series - 2018
- Quaternion half/double angle and Cayley transforms - 2016
- Showing the Correctness of Quaternion Rotation
- Fantastic Quaternions - Numberphile - 2016
- Approximating slerp - 2015
- Why Do Quaternions Double-Cover? - 2014
- Animate Your Way to Glory - Part II - 2013
- On Vector Math Libraries - 2013
- Understanding Quaternions - 2013
- Quaternions and Dual Quaternion Skinning - 2012
- Understanding Quaternions - 2012
- Nested Complex Numbers - 2012
- Quaternions part 1 - 2012
- Points, Vertices and Vectors - 2011
- Hacking Quaternions - 2002
- Representing Rotations in Quaternion Arithmetic - 2002
- Inverse Kinematics with Quaternion Joint Limits - 2002
- Using Quaterions for Animation in OpenGL - 1998
- Using Quaterions for Animation in OpenGL Part 2, Interpolation - 1998
- Rotating Objects Using Quaternions - 1998
- F*cking Quaternions: How Do They Work?
- Noel Hughes
- Optimizing slerp
Rotating a single vector using a quaternion