426 NEW PRIMITIVES FOR EUCLIDEAN GEOMETRY CHAPTER 14
determined by the condition that R
1
R
2
= R
s
, so that R
2
=
R
1
R
s
. This is a rotation
in the plane of the original bivector e
1
∧ e
3
, but rotated by R
1
.
6. Determining the Angles. All rotors we have determined are centered around their
own points. The corresponding rotation angles follow from the Euclidean part of
their logarithm (13.15), though it is actually more efficient to compute the vector
space logarithm of (10.14) of their Euclidean part. (The outcome is the same, for
taking the Euclidean part is the rejection of the rotor by o ∧∞, which is a covariant
construction).
If this is a robotics problem, you may indeed have to go down to scalar angles to feed
them to the joint controllers. But if this were an animation problem, you should
keep the results in rotor form, for they can be used directly to render the elements
that characterize the limbs in their correct location and attitude.
You see how this solution uses a combination of the capabilities of the conformal model
to compute with offset planes and spheres, and of its natural reduction to the vector space
model at each fixed location.
The implementation of such an algorithm for this particular robot performs about
40 percent faster than the implementation of the classical, angle-based solution [34]. The
main reason for that is partly the avoidance of trigonometry, and partly the avoidance of
representational switching that is typically required within a classical solution between
its several efficient internal representations (from homogeneous coordinate matrices to
quaternions and back, for instance).
14.7 FURTHER READING
The use of circles as elements of computation is not new. A fairly complete treatment may
already be found in 19th century works [9, 10] and a later summary of such techniques
is in the 1941 book by Forder [22]. No one seems to have realized explicitly that the sys-
tem can be extended with Euclidean versors, though they do make obviously covariant
constructions. That breakthrough came in 1999 with [31].
With elements like lines, circles, and rigid body motion rotors as primitives, the conformal
model can be used to describe arbitrary shapes in terms of such descriptors. Rosenhahn
[53, 54] has used this to do model-based tracking. His work is especially interesting for
explicit structural switching between the projective geometry of observation (naturally
described as linear transformations in the homogeneous model) and the desired accurate
Euclidean reconstruction (for which the conformal model is most suited). This stratifi-
cation of geometries is important.
Conformal geometric algebra can be used to perform target calibration in a more direct
way than by iteratively treating translational and rotational components separately as we
did in the vector space model of Section 10.4.2. The first results may be found in the work
of Valkenburg et al. [62, 64].