By representing an orientation (or rotation) by a complex number
instead of an explicit angle we can drop a fair number of
expensive operations. So instead of storing angle 'a', we store
complex number (cos(a), sin(a)). Another potential advantage is
the algebra framework (just manipulating algebra) and reasoning.
Algebra's like complex number, vectors, quaternions, etc allow
thinking in terms of relative information which can greatly
simplify the process. We will assume that standard mathematical
convention of the X axis pointing the to right and the Y axis
pointing up. Additionally we will assume that the reference
orientation of objects is pointing straight right. Combining
these together when thinking about some specific entity, we can
think in terms of its center being at the origin and its facing
straight down the X axis. NOTE: Although angles are talked
about, this is for understanding and thinking purposes and not
computation. Basic examples in code: Common definitions Capital
letter are complex numbe