Chapter 4: Implementing Quaternions
In this chapter, you will learn about quaternions. Quaternions are used to encode rotations. A quaternion is a complex number in an xi + yj + zk + w form. Think of i, j,
and k as placeholders that each represent a three-dimensional axis. w is a real number. While quaternions don't directly encode an angle axis pair, it's easy to think of them
as just that—a rotation about an arbitrary axis.
By the end of this chapter, you should have a strong understanding of what quaternions are and how to use them and you will have implemented a robust quaternion class in code. This chapter will cover the following topics:
- Different methods for creating quaternions
- Retrieving the angle and axis of a quaternion
- Basic component-wise operations
- The length and dot product of two quaternions
- Inverting quaternions
- Combining quaternions
- Transforming vectors by quaternions
- Interpolating between quaternions...