###
Interpolation of rotations

An orientation can be characterized by rotating a standard pose bivector.
Here the orientations are characterized by the
rotors R_A (blue)
and R_B (red):

R_A = exp(-I3.v_A Phi_A)/2, R_B = exp(-I3.v_B Phi_B)/2,

where v_A and v_B are vectors perpendicular to the planes of rotations used for
characterizing R_A and R_B. Phi_A and Phi_B are the corresponding scalar angles
of rotation and I3 is the three-dimensional pseudoscalar (volume element).
Dividing R_A/R_B we get the total rotor which rotates the
orientation R_A into R_B. Taking the logarithm, dividing by n (the number
of desired increments) and exponentiating again, we get the incremental
rotor:

R_inc = exp(log(R_A/R_B)/n).

The brown vector is the angular vector I3.log(R_A/R_B)/n
perpendicular to the plane of R_inc. The orange disc is
the bivector angle log(R_A/R_B)/n of the rotation increment.

You can change the origin, the orientations R_A and R_B and even the shape
and size of the standard pose bivector by interactively
dragging the bright red points. Because Cinderella is inherently
two dimensional software the construction will sometimes get screwed up.
Simply press the refresh button of your browser to start anew.

The basic idea for this applet stems from the "DEMOinterpolation" in Dorst, Mann and Bouma's
geometric algebra MATLAB tutorial GABLE.

[ GA with Cinderella ]

Soli Deo Gloria. Created with Cinderella by E. Hitzer (Fukui).