Playing with Quaternions and Dual Quaternions -- Clifford algebras in Game Development

Jon Selig

Research output: Contribution to journalArticlepeer-review

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 languageEnglish
JournalMathematics Today
Publication statusPublished - 1 Oct 2023
Externally publishedYes

Keywords

  • Computer games, Quaternions, Dual quaternions, Clifford algebra

Fingerprint

Dive into the research topics of 'Playing with Quaternions and Dual Quaternions -- Clifford algebras in Game Development'. Together they form a unique fingerprint.

Cite this