Abstract
Game developers like 4 × 4 matrices because they can perform, rotations, translations, scaling and perspective camera
transforms. But they can also do shear transforms, which
absolutely nobody likes. Partly for that reason, game developers often switch to quaternions or dual quaternions, which can do rotations and translations without any risk of accidentally spilling over into a shear.
Quaternions have been used for attitude control of aircraft
and satellites for many years because they encode rotations
very efficiently. In 1996 it became possible for consumers to
purchase 3D computer games and quaternions were used to
represent rotations here. The first such game is reputed to be ‘Tomb Raider’, [1]. These days the ‘Unity’ game engine, the ubiquitous 3D-game-programming software, uses quaternions
internally to represent rotations and allows users some access to this data structure [2].
Another of the original drivers toward quaternions was
Shoemake’s algorithm, SLERP, used to interpolate rotations
in animations smoothly, [3]. Other justifications for using
quaternions argue that they use less computer memory and
need fewer arithmetical operations than orthogonal matrices.
Perhaps the main reason for using quaternions is that their
simplicity makes coding more straightforward and easier to
read, resulting in fewer bugs
Original language | English |
---|---|
Journal | Mathematics Today |
Publication status | Published - 1 Oct 2023 |
Externally published | Yes |
Keywords
- Computer games, Quaternions, Dual quaternions, Clifford algebra