Semantics of interactive rotations

Abstract
We first outline an overall design philosophy for rigid geometric manipulations, then examine a manipulation's characteristics: nesting, scope, pivot constraints, and axis, constraints. We show how a mnemonic notation helps us explain how a simple matrix operation can make manipulations (both rotations and translations) nested within rotations easy to control. Finally, we mention some practical considerations to increase calculation speed and control numerical error. An appendix collects formulas useful for working with rotations.