Multivectors constitute an attractive alternative to the conventional matrix representations
of transformations in ÂN.
We will use uppercase mulitivector labels when we wish to emphasise a multivector's use in this role.
Bivector Transform
¦(a)ºa¿b2 maps one 1-vector a "into" 2-vector b2 and rotates by ½p "within" b2.
For pure 2-blade b2=e12
we have ¦(åi aiei)=-a2e1+a1e2. It provides 1-vector transformations
¦k(a)
º
¦k-1(a)¿b2
=2-kåi=0k kCi(-1)ib2iab2k-i .
Lorentz Transforms
We are particularly interested in grade-preserving transformations of multivectors of the form
A(b) º A#-1(x) º Ax(A#)-1
; defined to be Ax(A#) when A# is noninvertible;
and their application to the 1-representors for points and structures in ÂN.
For invertible k-versor A# = (-1)k A, such transformations satisfy
A(x)¿A(c) = x¿c
and are known as Lorentz transforms, or as isometries of inner product ¿.
They preserve both magnitudes and subtended angles.
The involution # ensures that ak(x) = x for any x with
x¿ak=0 (ie. "perpendicular" to ak with xak=xÙak=(-1)kakx)
but means that A(1) = A(A#)-1 so scalars
are preserved for even A, negated for odd A, and multiplied by potentially nonscalar A(A#-1)
for general mixed A.
If A is even then A(x) = AxA-1 = A-1(x) in
Bellian notation
and we have A(bc) = A(b) A(c) .
If A is odd so then A = -A-1.
If follows that for odd or even A we have A(a1Ùa2...Ùak) = ±
A(a1)ÙA(a2)Ù...A(ak) with the negative case arising when both
A and k are odd.
[ Proof : Follows from aÙbk = abk + bk#a
.]
Thus A is an outtermorphism, apart from a possible sign change incurred by the #,
and this means that we can apply A for odd or even A to the pureblade GHC representations
of geometric objects like k-planes and k-spheres to obtain representors for the Lorentz transformed objects.
Clearly (-A)#-1 = A#-1 and for even A we can often resolve this ambiguity of sign by
specifying A<0>>0.
Also of interest is A§(x) º Ax(A§) .
For a unit 2k-versor R , since
R# = R and
R-1 = R§
we have R = R#-1 = R§ .
We will show below that b§(a) = bab is a pure 1-vector for any 1-vectors a,b. Since this is also so for scalar b
we have bab§ = (bab§)<1> for any versor b.
Lorentz transforms preserve orthogonality and since it can be shown
[ Cartan-Dieudonne Theorem ] that any such transform can be expressed as
up to N reflections in hyperplanes, any orthogonality preserving
transform can be expressed as an e¥-preserving rotation R§() where R is a nonnull unit k-versor.
In particular, the orientation of a continuously rotated rigid body in ÂN always
has a unit k-rotor representation with k£N.
Higher Dimensional Embeddings
Suppose we have extended ÂN into ÂN+p,q,r with an associated point embedding
¦ : ÂN ® ÂN+p,q,r.
Any multivector A in ÂN+p,q,r represents a transformation
GA,¦ : ÂN ® ÂN
defined by
GA,¦(x) = ¦-1(A¦(x)(A#)-1).
In the three embeddings we consider here,
¦-1(sx) = ¦-1(x) for any nonzero scalar s
so we have
A¦(x)(A(#))-1 = s(x)¦(GA,¦(x))
where s(x) is a scalar.
The involution (#) is the "interior" or "unextended" ÂN involution operating within ÂN+p,q,r rather than
the proper involution # of ÂN+p,q,r ; so that, for example, in the affine model
we take e0(#) = e0 rather than e0# = -e0.
Homogeneous Coordinates
A(¦(x))
= A(x+e0)
= A(x) + Ae0(A(#))-1
= A(x) + e0A#(A(#))-1
= A(x) + e0
= ¦(A(x))
Affine Model
A(x)
= A(1 + e0x)
= A(A(#))-1 + Ae0x(A#)-1
= A(A(#))-1 + e0A#x(A(#))-1
If A is even/odd we have
A(¦(x)) = ± ¦(A(x)).
Generalised Homogeneous Coordinates
A(¦(x))
= A(x + e0 + ½ x2e¥)
= A(x) + A(e0) + ½ x2A(e¥)
= A(x) + e0 + ½ x2e¥
if A is within ÂN
= ¦(A(x))
if A is odd or even .
Translations
Translations in ÂN can only be represented in ÂN by addition of a 1-vector in
the conventional manner.
In some higher dimensional emebeddings we can
exploit the fact that a translation by
displacement vector d is equivalent to reflection in any two hyperplanes normal to d spaced
½ |d| apart.
In particular, the ÂN hyperplanes through 0 and then ½d will suffice.
Affine Model
The representor of x - d is
1 + e0(x - d)
= Td(1+e0x)Td
where
Td=(1 - ½ e0d)=(-½e0d)↑ has
Td2 = T2d
and Td(#)Td =
Td§Td =
Td§#Td =
1.
[ Proof :
(1-½ e0d)(1+e0x)(1-½ e0d)
= (1-½ e0d)(1+e0x-½ e0d)
= (1+e0x-½ e0d - ½ e0d)
= 1 + e0(x - d) .]
We have Td-1 = (1 + ½ e0d) = T-d
and Td(#) = T-d = Td§
so we have
Td# -1 = Td for all d in ÂN.
If B is any ÂN multivector representing an "origin centered" transformation of
ÂN we can represent the associated operation centered at d with
T-dBTd . If B is even we have
T-dBTd
= (1+½ e0d)B(1-½ e0d)
= B - ½(Be0d-e0dB)
= B + ½ e0 (dB - Bd)
= B + ½ e0(d × B) .
Generalised Homogeneous Coordinates
The representor of x + d
is TdxTd§
where even Td º (1+½ e¥d)
= (½e¥d)↑ = (-½de¥)↑
has
Td2 = T2d
and Td(#)Td =
Td§Td =
Td§#Td =
1.
[ Proof :
(1-½e¥d)(x+e0+½e¥x2)(1+½e¥d)
= (1+½de¥)(x+e0+½e¥x2)(1-½ de¥)
=
(x+e0+ ½e¥x2 + ½ de¥x + ½ d(-1+e¥0))
(1-½de¥)
=
x+e0+ ½e¥x2 + ½ de¥x - ½d + ½de¥0
- ½(xde¥ + e0de¥ - ½d2e¥ - ½d2e¥)
= x+e0+ ½e¥x2 + ½ de¥x - d - ½xde¥
= x-d+e0+ ½e¥x2 - ½(dx+xd)e¥
= x-d + e0 +½(x-d)2e¥
.]
We can thus represent translations with spinor transforms that preserve the e0 coordinate (s(x)=1). As with the affine model, we have
(Td(#))-1 = T-d-1 = Td
(since (#) preserves e¥) for any d Î ÂN.
If B is any ÂN multivector representing an "origin centered" transformation of
ÂN we can represent the associated operation centered at d with
T-dBTd. If B is even we have
T-dBTd
= B + ½ e¥(d × B).
Note that
(1+½ e¥d)e¥(1-½ e¥d)=e¥ so e¥ is preserved by translations
while (1+½ e¥d)e0(1-½ e¥d) = d+e0+½d2e¥.
Reflections
Consider the transformation
Reflectbl(x)
= ¯bl(x) - ^bl(x)
= 2¯bl(x) - x
where bl is a nondegenerate m-blade.
Reflectbl(x)
= (x¿bl)bl-1 - (xÙbl)bl-1
= ((½(xbl-bl#x) - (½(xbl+bl#x))bl-1
= -bl#xbl-1
= -blxbl#-1
.
[ b(x) = ^(x,b) - ¯(x,b) corresponds to a rotation of subspace
b by p ],
In particular:
Reflection in the 2-plane (bivector) b is given by
Reflectb(x)
= -b(x) = -bxb-1 = -bxb§
;
Reflection in the hyperplane through 0 perpendicular to unit vector
n is given by
Reflectn*(x) =
-nxn = n(x).
[ Verification : -nxn
= -(nx)n = -(nx)n-1
= -(n¿x + nÙx)n-1
= -(n¿x)n-1 + (xÙn)n-1
= -¯n(x) + ^n(x) ]
When n2=-1 we have -nxn = ¯n(x) - ^n(x) .
To reflect in a displaced subspace we apply a translation bringing the subspace
to the origin, reflect, and then reverse the translation.
Null Reflection Rule
For any nullvector s , s§(b) = s=(b) º sbs
= 2(s¿b)s We will call this the null reflection rule.
[ Proof : Trivially true for scalar b. True for 1-vectors since
s(bÙs) = s¿(bÙs)
= (s¿b)s - (s¿s)b = s(s¿b)
Þ sbs = s(b¿s+bÙs)=2s(b¿s).
True in particular (zerovalued) for b2 = e-u which anticommutes with s.
Thus the result holds " b Î e-u . Also true for any bkÎ(e-u)*
since then sbk=(-1)kbks. For other bk, ^(bk,(e-u)*) is a blade of
grade <k so we can inductively assume the result for it.
Whence sbks = s(^(bk,(e-u)*)+¯(bk,(e-u)*)s
= s^(bk,(e-u)*)s
= 2(s¿^(bk,(e-u)*))s
= 2(s¿bk)s
.]
In particular,
s§(b2) = 2(s¿b2)Ùs .
We also have the null reflected 2-blade rule
sabs = s(aÙb)s = sbsa - sasb .
[ Proof :
sabs
= sbsa + sabs - (sbs)a
= sbsa + sabs - 2(s¿b)sa
= sbsa + sa(bs-2(s¿b))
= sbsa + sa(-sb)
.]
Affine Model
-n(1+e0x)n
= -1 + e0nxn
= -1 - e0x'
Reflection in a hyperplane having normal
n passing through mn has versor representative
T-mnnTmn
= (1+½ e0mn)n(1-½ e0mn)
= (1+½ e0mn)(n+½ e0m)
= n + me0.
Generalised Homogeneous Coordinates
Reflection in a hyperplane having normal
n passing through mn has versor representative
T-mnnTmn
= (1+½ e¥mn)n(1-½ e¥mn)
= (1+½ e¥mn)(n+½ e¥m)
= n + me¥.
Shears and Strains
Sa,b(x) º x + (x¿a)b
with Sa,b-1(y) = y - (1+a¿b)-1(y¿a)b
= S-(1+a¿b)-1a,b(y)
constitutes a shear in plane aÙb when a¿b=0
sending aa+bb+gc to
aa + (b+aa2)b + gc where c Î (aÙb)* ;
and a strain along a when b=la , sending
aa+gc to
a(1+la2)a + c where c Î a* .
Any linear transformation can be expressed as a succession of reflections and shears.
More generally, defining
Sa,b(x) º x + bÙ(a¿x)
we have
Sa,b(xk)ÙSa,b(c) = Sa,b(xkÙc)
[ Proof :
xkÙc + bÙ(a¿xk)Ùc + xkÙbÙ(a¿c)
= xkÙc + bÙ((a¿xk)Ùc + (-1)kxk(a¿c))
= xkÙc + bÙ(a¿(xkÙc))
by the Expanded contraction rule
a¿(bkÙc) = (a¿bk)Ùc + (-1)kbkÙ(a¿c).
.]
and
Sa,b-1(y) = S-(1+a¿b)-1a,b(y) for a¿b¹-1.
Sc,d(Sa,b(x)) = x + bÙ(a¿x) + dÙ(c¿(x + bÙ(a¿x)) = x + bÙ(a¿x) + dÙ(c¿x) + dÙ(c¿(bÙ(a¿x)))
Sc,d(Sa,b(x))
= x + b(a¿x) + d(c¿x + (c¿b)(a¿x))
= x + (b+(c¿b)d)(a¿x) + d(c¿x)
Rotations
Let a and n be N-dimensional vectors with a2 = n2 = ±1.
If a¹-n, the rotation with axis through 0 taking n to a can be considered as a reflection in the
hyperplane r.(a+n) = 0 followed by reflection in the hyperplane r.a = 0.
We can thus express the rotation geometrically as
Rotaten,a(x) = a-1((n+a)~)-1x((n+a)~)a
= a((n+a)~)x((n+a)~)a
= Rn®axRn®a§ ,
where Rn®a = a(n+a)~
= (q(aÙ(n+a)~))↑
is a unit 1-rotor.
Since Rn®aRn®a§ = 1 we have
Rotaten,a(x)Rotaten,a(y)
= Rotaten,a(xy)
so we can use Rotaten,a to rotate multivectors.
If a2 = n2 = 1 we have a(n+a)~ =
(1+an) / Ö(2+2a.n) .
If a2 = n2 = -1 we have
a(n+a)~
= (-1+an) / Ö(2-2a.n) .
Any sequence of k such rotations can be represented by a k-rotor given by the geometric product of the
contributory 1-rotors, this product being itself an even unit versor. Thus a rotor can also specify an N-D orientation.
The operation a-1(b) = aba-1 is called rotation
by rotor a.
Geometrically, a rotation corresponds to a sequence of 1-rotor rotations and so can also
represent the orientation of a rotated rigid N-D body or reference frame.
For N=3, any bivector is a 2-blade so every even multivector
has form a + aÙb = a((a-a¿b)a/a2 + b) ,
hence every even 3D multivector is a 2-versor and a 1-rotor.
For general N we have
na
= (a.n) + nÙa.
= (a.n) + |nÙa|b
where b = (nÙa)~ = (n×a)~ an even unit bivector with b2=-1.
Writing f = cos-1(n*a) for the angle subtended by unitvector n and a we have
na = |a|( cosf + b sinf) = |a|ebf
We can thus express any vector a in the form
(nn)a
= n(na)
= |a|ne(nÙa)~f
where n is a given ("base direction") unit vector.
Let b be a unit bivector (b2 = -1).
Since b=-b#-1 we have
-byb = b(y) =
^(y,b)-¯(y,b)
and b¯(y,b) = b(y¿b) = -y¿b.
Consider
| Rb,q, f(y) | º | eqby efb§ = ( cosq+ sinqb)y( cosf- sinfb) = ... [algebra ommitted] ... |
| = | cos(q+f)¯(y,b) - sin(q+f)y¿b + cos(q-f)^(y,b) - sin(q-f)^(y,b)b-1 . |
In N=3, all rotors are unit magnitude scalar-bivector pairs. There is an equivalence between orientations and scaled-directions. Any orthornmal coordinate frame can be characterised by three Eulerian angles or by a unit Â3 rotor. Because there are as many bivectors as 1-vectors, orientations and scaled-directions require the same number of variables to specify (eg. three Eulerian angles). When multiplying rotors, the result as an even multivector is constrained to a 3D space.
The rotor for a rotation by angle |a| about axis 0 + la
is thus the q=½ |a| spinor for the 2-plane a* = -ia.
Ra, 0 = e-½ia = cos(½|a|) - ia/|a| sin(½|a|).
All 3D rotations have this form.
Applying such a rotor (sparsity 4) twice to a vector (sparsity 5) by twice
calling a general geometic product routine incurrs 28 nonzero multiplications.
Computationally, this operation is precisely equivalent to a rotation by quaternian so
a specific routine requires 19Mult. Both of these compare poorly with
the 9Mult for application of a rotation matrix.
However, 3D rotors provide the same advantages over rotation matrices as quaternions do, namely:
For N=p+q=4 we have 4 1-vectors but 6 bivectors . As <0;2;4>-vectors, even versor 4D rotors have a pseudoscalar component, even multivectors
have eight degrees of freedom, seven if normalised.
If i2=-1 (requires q>0) we can express them as a <0;2>-vectors in Cp,q-1 +
as a + bb
= ½(a+b) + ½(a-b)b
for plussquare unit 2-blade b , with rapidly computable logarithm
ln()(a+b)½(1+b) + ln()(a-b))½(1-b) where
1±b commute with eachother
[ The scalar part being determined by required unit magntude from bivector and pseudoscalar ]
Rb,q, f(y) as defined above
corresponds to a simultaneous rotation of 2-plane b by q+f and
the orthogonal 2-plane b* by q-f.
All 4D rotations have this form. In particular,
x ® eqbx = Rb,q,0(x) corresponds to
rotation of 2-planes b and b* by q,
x ® xeqb = Rb,0,q(x) corresponds to
rotation of 2-planes b by q and b* by -q,
We can represent any unitvector a Î Â4 by the scalar,bivector
combination ae4 = a¿e4 + aÙe4
= eaa º (aa)↑
where a=(aÙe4)~ is a unit bivector and a = cos-1(a¿e4).
Note that e4 anti-commutes with a.
We also have a = (a½a)↑e4(a§½a)↑
This represents each point of the unit 3-sphere (ie. the unit sphere in 4D) by a zero-centred rotation that
takes the "preferred direction" e4 to a.
Once again we encounter quaternions, this time as rotational representors for 4D points.
Letting a=(aÙe4)~ and a= cos-1(a¿e4) so that
ae4 = (aa)↑ we have
| Rb,b, q,f(eaa) | = | ( cosq+ sinqb)ae4( cosf- sinfb) = (( cosq+ sinqb)a( cosf+ sinfb))e4 |
| = | Rb,q,-f(a)e4 |
| Rb,c,b,g(y) | º | ebdyegc = edd egc edd§ yegc | = | eddRc,c,g,g (edd§y) = eddRc,g,-g (edd§y) |
Generalised Homogeneous Coordinates
We have seen that the ÂN+1,1 1-vector s=c-½ r2e¥
represents a sphere or radius r centre c in ÂN. What happens if we reflect in such a 1-vector?
It can be shown that
-sxs
= -i2s*xs*
= ((x-c)/r)2(g(x)+e0+½ g(x)2e0)
where g(x)=(r2/(x-c)2)(x-c)+c is known as
inversion in the sphere centre c radius r. Inversion takes c+ln
to c + (r/l)2n so mapping the exterior of the sphere into its interior, and vice
versa.
Thus if ak+2 represents a k-sphere then -ak+2xak+2#-1 prserves xÎak+2 and acts as reflection (inversion)
in the k-sphere over k-plane xÎe¥Ùak+2 . It also embodies a reflection in the k-plane e¥Ùak+2 .
This also holds if ak+2 representsd a k-plane and we can formulate the notion of a generalised rotation consisting
of an even number of successive reflections in k-planes and k-spheres. In general, blades
ak+2 and Bl+1 will intersect and it is natural to think of
ak+2 Ç Bl+1 as the "axis" of rotation (ak+2Bl+1)#-1 . If there is no intersection then the trsnform may includes a translation
component, eg. when successively reflecting in two parallel hyperplanes.
Transversion
A transversion by displacement d is an inversion in the unit hypersphere e+*,
followed by translation by d, followed by another inversion in e+*.
In GHC we can form this as
Lorentz form
x ®
(e0-½e¥)(1+½e¥d)(e0-½e¥)
x
(e0-½e¥)(1-½e¥d)(e0-½e¥)
=
(1+½e0d)
x
(1-½e0d)
so transversion by d has Lorentz spinor form (1+½e0d)§=(½e0d)↑§.
Dilation and Involution
"Rescaling" of ÂN is only representable as a Lorentz form
in ÂN+1,1.
Generalised Homogeneous Coordinates
Consider
(fe¥0)↑ º ee¥0f º cosh(f)+ sinh(f)e¥0.
(fe¥0)↑§(e0) º
ee¥0fe0e-e¥0f
= ( coshf+ sinhf)e0( coshf- sinhfe¥0)
= ( coshf+ sinhf)( coshf+ sinhf)e0
= e2fe0.
Similarly ee¥0fe¥e-e¥0f
= e-2fe¥.
Thus ee¥0fxe-e¥0f
= ee¥0f(x+e0+½ x2e¥)e-e¥0f
= x + e2fe0 + ½x2e-2fe¥
= e2f(
e-2fx + e0 + ½(e-2fx)2e¥)
= e2f¦(e-2fx).
Hence the multivector
Dl
= (-½ e¥0 ln(l))↑
= ½l-½((1+l) + e¥0(1-l))
corresponds to the dilation
g(x) = lx for l > 0.
Since e¥0¦(x)e¥0 = x - e0 - ½ x2e¥ = -¦(-x) we can dilate by
-l < 0 with
D-l = e¥0(-½ e¥0 ln(l))↑
= ½l-½((1-l) + e¥0(1+l)) .
Summary of GHC Transformations
| Transform [ A^(x º AxA^ ] | Effect | s(x) |
| (½e¥d)↑§ | Translation by dÎi | 1 |
| (½e0d)↑§ | Transversion by dÎi | 1 |
| (-½fe¥0)↑§ | Dilation (scaling) by f↑ | (-f)↑ |
| (e¥0(-½fe¥0)↑))§ | Dilation (scaling) by -f↑ | -(-f)↑ |
| ((-½iqa)↑ + ½e¥(c × (-½iqa)↑)§ | Rotatation of q about axis c+la (assuming a2=1) | 1 |
| R§ | Rotatation by even rotar R with RR§=1 | 1 |
| -(ak+2)#-1 | Reflection in k-sphere or k-plane ak+2 | -1 |
If b2=b^2=-1 then (qb)↑x(qb^)↑
= ( cosq+ sinqb)x( cosq+ sinqb^)
= ( cosq)2x + ( sinq)2bxb^
+ sin(2q)½(bx+xb^)
which we can regard as the natural "subdivision" of the discrete rotation of x at q=0 to bxb^ at q=½p.
When ^ is negation we have
(qb)↑x(-qb)↑
= ( cosq)2x
- ( sinq)2bxb
+ sin(2q)(b×x)
= x+ + cos(2q)x-
+ sin(2q)bx-
= x+ + (2qb)↑x-
where x+ commutes with b and
x- anticommutes with b
and x=x++x-
.
If a2=la and b2=mb then
c(a)=(ab)↑a(-ab)↑
= (1+m-1((am)↑-1)b)a
(1+m-1((-am)↑-1)b) for central a
has c2= lc independant of m and a.
When l=m=1 this is
c(a)= (1+(a↑-1)b)a(1+((-a)↑-1)b
= a+(a↑-1)ba+((-a)↑-1)ab + (a↑-1)((-a)↑-1)bab
If ^ is a reversing conjugation that preserves a ,b, and a then
c(a)^ = c(-a)
so
½(c(a)+c(a)^)
= a+( cosha-1)(ba+ab)+ (a↑-1)((-a)↑-1)bab
and ½(c(a)-c(a)^) = sinh(a)b×a .
For large scalar a we thus have c(a) decomposing as approximately (a)↑(½(ba+ab) - bab) preserved by ^ and (a)↑b×a negated by ^ .
For a = ai we have
c(a)
=
a + ( cosa-1)(ba+ab) + sinai(ba-ab) +
2(1- cosa)bab .
Example (l(b+e¥d+ge¥0))↑-1
Recall from our discussion of exponentiation that e12+e¥(de3+fe1) + ge¥0 = (g+Ai)B where unit A = e3 + dg-1e¥ (so Ai=e¥0e12+dg-1e¥e123) and B = e¥Ùb = e¥Ù(e0+b) (with b = f(1+g2)-1(ge1-e2) + dg-1e3 = f(ge1-e2)~ + dg-1e3 ) commute ; providing idempotised form (g+i)½(1+A)½(1+B) + (g-i)½(1-A)½(1+B) - (g+i)½(1+A)½(1-B) - (g-i)½(1-A)½(1-B) .
(l(e12+fe1+de3+ge¥0))↑ = cosh(lg) cos(l) + sinh(lg) sin(l)Ai + sinh(lg) cos(l)B + ((lg)↑ sin(l) + (-lg)↑ cos(l))ABi
With AB = e¥Ù(e0+b)Ùe3 ; ABi = e¥Ùb' + e12 where b' = f(e1 + ge2)~ = ¯w(b)w .
For e12+e¥(de4+fe1) + ge¥0 and i = e¥0e12345 we have 3-blade A = e345 + dg-1e¥e35 (so Ai= e¥0e12 + dg-1e¥e124) and 2-blade B = e¥Ùb where b=f(ge1 - e2)~ + dg-1e4. so that AB = e¥ÙbÙe345 and ABi remains the same.
For the general (lw+e¥d+ge¥0) we have Ai = e¥0w + g-1e¥(wÙd) = (e¥0 + g-1e¥^w(d))w ; B = e¥Ù(e0+b) where b = (1+g2)-1(g+w)¯w(d) + g-1^w(d) ; ABi = (1 + e¥¯w(b))w .
Thus, if B» = -B then for l >> 1 ,
(½l(b+e¥d+ge¥0))↑» will tend to amplify ^B(x)
and reduce ¯B(x) .
so driving x towards a multiple of ^B(x)½(1-B) , wheras l << -1 drives towards a multiple of
^Bx½(1+B).
Here ¯ and ^ denote decomposition
x = ¯q(x) + ^q(x) into parts commuting and anticommuting with q respectively.
For e12+e¥(de4+fe1) + ge¥0 and i = e¥0e12345 we have 3-blade A = e345 + dg-1e¥e35 (so Ai= e¥0e12) and 2-blade B = e¥Ùb where null b is the embedding of b = gf(1+g2)-1e1 - f(1+g2)-1e2 + dg-1e4 . For large g, b » e¥Ù(e0 + g-1(fe1+de4) while for small g we have B » e¥Ù(e0 + fe2 + dg-1e4) .
For g=0 we have
(e12 + de¥3 + fe¥1)
= i(1-dA)B
= (i+de¥)B
where i=e¥0e123
; A = e¥e123 ; and
b = e¥03 - fe¥e23
= e¥Ù(e0-fe2)Ùe3
, or
i=e¥0e12345 and
B = e¥0e345 - fe¥e2345 = b* + (e¥¯b(d))*
for minussquare e4 replacing plussquare e3.
Implementation via idempotentised forms
Suppose we have
a =
a00U00 + a10U10 + a01U01 + a11U11
= (a00+a10+a01+a11)
+ (a00-a10+a01-a11)A
+ (a00+a10-a01-a11)B
+ (a00-a10-a01+a11)AB
where U00=½(1+A)½(1+B) ;
U10=½(1-A)½(1+B) ;
U01=½(1+A)½(1-B) ;
U11=½(1-A)½(1-B)
for commuting unit squared A and B and complex aij for some i commuting with A and B.
Suppose further that we seek to evaluate a§(x) º axa§ , equivalent to axa§# if a is even.
In both the above example cases, B negates under §# and § and (anti)commutes with ^(p) ( ¯B(p) ) while
A (anti)commutes with ¯A(x) (^A(x))
is preserved by §# and negated by § in the 3-blade case (vice versa in the 1-blade case).
7-blade i is presrved by §# but negated by §.
Since for even a we can choose either § or §# it is natural to favour », the reversing conjugation
that negates our choice of i, which will tend to preserve A.
(a00U00 + a10U10 + a01U01 + a11U11)x
(a00U00 + a10U10 + a01U01 + a11U11)»
=
(a00U00 + a10U10 + a01U01 + a11U11)
(¯B(x) + ^B(x))
(a00»U01 + a10»U11 + a01»U00 + a11»U10)
= (
¯A¯B(x)(a00U00 + a10U10 + a01U01 + a11U11)
+ ^A¯B(x)(a00U10 + a10U00 + a01U11 + a01U01)
+ ¯A^B(x)(a00U01 + a10U11 + a01U00 + a11U10)
+ ^A^B(x)(a00U11 + a10U01 + a01U10 + a11U00)
) ( a01»U00 + a11»U10 + a00»U01 + a10»U11 )
=
¯A¯B(x)
(a00a01»U00 + a10a11»U10 +a01a00»U01 + a11a10»U11)
+ ^A¯B(x)
(a10a01»U00 + a00a11»U10 +a01a00»U01 + a01a10»U11)
+
¯A^B(x)
(|a01|2U00 + |a11|2U10 + |a00|2U01 + |a10|2U11)
+ ^A^B(x)
(a11a01»U00 + a01a11»U10 +a10a00»U01 + a00a10»»U11)
= ¯A¯B(x)L00 + ^A¯B(x)L10 + ¯A^B(x)L10 + ^A^B(x)L11
for four multivectors L_ij determined by a independant of x.
= (
a00a01»¯A¯B(x)
+ a10a01»^A¯B(x)
+ |a01|2¯A^B(x)
+ a11a01»^A^B(x)
)U00
+ (...)U10 + (...)U01 + (...)U11
Here ¯A¯B(x)L00 abbreviates (¯A(¯B(x)))L00 .
For 1-vector A we know ¯A(y) commutes with both A and B so that ^B¯A(y) = 0.
If we are going to compute axa§ for multiple x we can compute and store the
L00, L10, L10 and L11 and use them as right geometric multipliers for the four
¯A¯B(x) , ^A¯B(x), ¯A^B(x), ^A^B(x).
Because we did the ^A and ¯A second,
if we expand the L_ij out in terms of 1,i,A,B,etc. then
the products with the A reduce to either ¿ or Ù.
Alternatively, for k-vector x we can favour four <k;G-k>-vector "idempotent coordinate" left-multipliers for the U00,U10,U01,U11 like a00a01»¯A¯B(x) + a10a01»^A¯B(x) + |a01|2¯A^B(x) + a11a01»^A^B(x) where G is the grade of i; easily additively recombined into <k,G-k>-vector left multipliers for 1, A, B, and AB.
We can add and subtract such representations by adding the seperate coordinates, but
multiplications are complicated by the potential non (anti)commutivity of the ¯A¯B(x), ¯A^B(x),... with B.
Multivector Shapes
k-tubes
Our formal discussion of paths, surfaces, and other M-curves must await consideration of
multivector calculus since we require notions of smoothness and continuity, but we can nontheless
describe and manipulate a wide variety of closed "blobby shapes" of interest to programmers as k-blade
trajectories through
UN%. A toroidal surface may be constructed by sweeping a circle around a circle , for example, or
a cylinder by translating a cirle along a line. More generally, we can define a k-tube as a union
ÈlÎ[a,b] ak+1(l) of multiple (k-1)-spheres , with an implied intersection with the UN% horosophere. Note that this is not the cummulative join (which is likely to be i)
but a set of hyperphere duals (restricted to a point set). If we intersect
ÈlÎ[a,b] ak+1(l) with the UN% horosphere and disembedd we recover
the set of UN points which lie in at least one ak+1(l).
A k-tube is thus the k-curve formed by sweeping a (k-1)-sphere through UN , varying its radius, centre, and orientation.
Setting ak+1(a)=ak+1(b) or r(a)=r(b)=0 ensures a closed k-curve.
Thus:
A 0-tube is a 1-curve, ie. a path through UN pointspace.
A 1-tube is the twin trajectories formed by sweeping a bipoint through UN , varying its radius, centre, and orientation.
A 2-tube is the tubelike surface formed by sweeping a circle through UN , varying its radius, centre,
and orientation according to taste.
If ak+1(b)=ak+1(a) we have a closed surface such as a torus, otherwise we have "open ends"
such as for an uncapped cyclinder. 2-tubes are useful as "enclosing surfaces" for more complicated objects.
A 3-tube is the filled tubelike volume formed by sweeping a 2-sphere through UN , varying its radius, centre, and orientation.
3-tubes are closed irresepective of whetere the 2-sphere tarverses a closed path and like 2-tubes that have been "filled in"
and the ends.
If we vary l discretely rather than smoothly from a to b the k-tube becomes a union of (k-1)-spheres, with gradient discontinuites in the enclosing (k-1)-curve which may fragment into seperate sections. We might have K hyperspheres defining a "collision envelope" for a more complicated object, for example.
b Ç ÈlÎ[a,b] ak+1(l) =
ÈlÎ[a,b]
(bÇak+1(l)) .
For the sake of definiteless, let us take k=1 and suppose {ak+1(l)} representes a deformed
k-curve while b is a 3-blade representing a line or a circle. Each ak+1(l) is an undeformed 1-sphere
that can intersect in the horosphere with b at most twice. From a programming standpoint, calculating the intersection
of b with the 2-tube ammounts to seeking all the l solving
(bÇak+1(l))2=0 and even this is insufficient to pick up the exceptional double intersections
when b lies along a diameter of ak+1(l) . Even though the meet
bÇak+1(l) for a nonintersective l provides useful measures and directions for
seeking a solution, the problem of construting such tubular meets is potentially computationally intensive.
The discreteness of the geometric interpretation (the ray either intersects a circle or it doesn;t) means that we have to find the exact
solving l, and (depending on how wobbly the k-tube is) there might be a large integer number of solution l
within [a,b]. If {ak+1(l)} is closed there will be an even number of intersection points which we can think of as arising in "entry and exit" bipoints, but we might only
be actually interested in one (the closest to a ray source, for example).
If ak+1(l) = ¦l(_Akp10) for some invertible outtermorphic tranform ¦l
we have
bÇ ÈlÎ[a,b] ¦l(_Akp10) = ÈlÎ[a,b] (¦l( ¦l-1(b)_intrsc_Akp10) ) which replaces "tracing" a straight 1-curve past a k-tube by tracing a "wobbly" 1-curve past a k-sphere.
More generally we might intersect l-sphere bl+1 with k-tube {ak+1(l)} to obtain a collection
of (k-(N-l))-curvea which we can reformulate as intersecting an l-tube with a single k-sphere.
More generally still, we can intersect a k-tube with an l-tube
ÈlÎ[a,b] ¦l(_Akp10)
Ç ÈmÎ[c,d] gm(_Blp10)
=
Èl,m ¦l(_Akp10) Ç gm(_Blp10)
taking the union accross all possible combinations of l and m . This is an intensive computation
but we can generalise still further, constructing M-curves by sweeping (M-1)-tubes or more complicated
(M-1)-curves through UN%.
The problem is of course that while the k-tube ÈlÎ[a,b] ak+1(l) is well defined symbolically and may be algebraically manipulated as above, the representation and manipulation of k-tubes requires linked lists and parameterisations of multivectors rather than simple multivectors. We might for example store K+1 "spotvalue" (k+1)-blades for l = jK-1 .
Clearly k-tubes can intersect themselves. The l parameter is not interpreted as a "time", all
the ak+1(l) are considered to "exist together" and a given UN point can lie within more than one of them.
A d-extruded k-tube is a k-tube whose centre c(l) satisfuies d-1¿c'(l) > 0 and b(l) Î d* .
The k-sphere is thus travelling "along" d and aligned perpendicular to it so that all points in a particular ak+1(l)
have shared d coordinate unique to that l. Typically we might have d=e4 and regard ak+1(l) as
representing the position and orientation of a spacial k-sphere at time t=l.
Transforming k-blades
Suppose a1 and a2 are distinct k-blades in UN.
We seek to construct a "rotation" ¦l(a1) taking a1 at l=0 to a2 at l=1 that takes
(½d)-blade (a2Da1)Ça1 into (½d)-blade
(a2Da1)Ça2 but does not effect directions in (a1Da2)*
and during which ¦l(a1) remains within the join a1Èa2.
We thus seek a transformation of the form
¦l(x) = flxf-l for some even multivector f within
a1Da2 . Insisiting f be even ensures that it commutes with everything in
(a1Èa2)* and in a1Ça2 so that
fxf-1 = x for x Î (a1Da2)* . Thus our "rotation"
will preserve the meet a1Ça2 as well as everything entirely outside the join.
As pure blades, a1 and a2 have scalar square and so
(since a12 commutes with a2 and a22 commutes with a1)
both a1 and a2 anticommute with a1×a2. If we can find a particular logarithm
(a2a1)↓ that anticommutes
with a1 and a2
(which is by no means certain) then we can take fl = (l(a1a2)↓)↑ .
The delta product (a1Da2) provides an even d-blade of signature (a1Da2)2 that in many
cases of interest provides a
decentralisation blade
allowing analytic computation of a particular (a1a2)↓
and checking this log for anticommutation with b provides a comparatively rapid check of whether such a rotor form
can be constructed.
We have a2a1=a2*a1 + b + a2Da1 where b is is <2;4;..;d-2>-vector whose
square has grade <0;4;8;..;d> with the d-grade component a multiple of a2Da1.
d=0 arises when a1=aa2 . No rotation is necessary.
d=2 arises when k=1, and when m=k-2 . We have only grades <0;2> in the geometric product corresponding to a2a1 = a2*a1 + a2×a1. Since a2×a1 anticommutes with a1 and a2 it provides a rotor blade if it has negative square.
When d=4 the delta product commutes with a1 and a2 and may provide a suitable decentralisation blade. Now a2×a1 has grade <2;6;10;...;d-2> while (a2×a1)2 = a2a1a2a1 + a1a2a1a2 - 2a12a22 has (a2×a1)2§ = (a2×a1)2 and so must have grade <0;4;8;...d> and the d-blade component must be a multiple of a2Da1. For N£7 we thus have (a2×a1)2 = a + ba2Da1 when d=4, enabling us to decentralise on a2Da1 and form a logarithm though if (a2Da1)2 ³ 0 we may require an i.
d=6 requires N³6, k³3 so we already have a constructive approach for rotating one
k-blade into another for N£5. For d=6 we have
a2a1 = a0 + a2A2 + a4A4 + a6A6 with
a2×a1 = a2A2 + a6A6
and
a2~a1 = a0 + a4A4 and a6A6=a2Da1 a pure 6-blade.
Note that A42 and A22 are <0;4>-vectors rather han scalars.
When k=3 so that A6=(a2Ùa1)~ spans A2 and A4
and so commutes with them, then (since a2×a1 commutes with a2~a2) A2 commutes
with A4.
Though the 4-grade componet of A22 is a multiple of A4,
the 4-grade component of A42 is not. We have only
(A42-A4*A4)2 = b4,0+b4,1A4
.
Transforming k-spheres
Since (aÙb)2 = ¼(a-b)4 2-blade aÙb
always has postive square so we cannot naturally "rotate" point a to point b without either
imposing an arbitary centre codistant from a and b or "translating" from a to b which can be regarded as rotation about e¥.
This "problem" persists for nonintersecting hyperspheres s1* and s2*.
Suppose we have two distinct k-spheres represented by two unit (k+2)-blades a1 = Qb1,s1 and a2 = Qb2,s2 in (N+2)-dimensional space UN% for 1 £ k<N . In a typical application we might have a1 = p1Ùp1Ù...Ùpk+2 ; a2 = q1Ùq1Ù...Ùqk+2 for particular 2(k+2) points p1,..,pk+2,q1,..,qk+2 specifying the "portions" of the k-spheres we are most interested in. We might represent a1 and a2 in such "factored form" rather than as an expanded k-vector with regard to a particular extended basis; we might have have s1,b1 and s2,b2 explicitly; or we might have a1 and a2 in extended basis coordinate form.
For k=1, we might regard the 1-sphere as passing through the points in the particular order p1,p2,p3
and regard p1 and p3 as "endpoints" of a "region" of interest.
More generally we regard the (k+2) control points as specifying a
"spotsampling" of a particular "region" of the (k-1)-sphere in which we are
particularly interested.
In an intrinsically distinct class of problems, we merely seek to "rotate" or "transform" unit k-blade
a1 to unit k-blade a2 in as "natural" a manner as possible, independant of any choice of control points
and in such cases the use or imposition of particular control points may be regarded as undesirable.
It is this class of problem that we address first.
Transformations mapping a k-sphere to another k-sphere can embody aribitary rotations or "twist" within the k-sphere
or indeed any "stretching" or "remapping" of the target k-sphere to itself. Even if we insist on retaining a uniform "spread" of points, we
still have an arbitary twists (a single angle in the case of k=1 or a rotation in SOk
more generally).
The Slide
The simplest way to "morph" a1 to a2 is to simulataneously and independantly "translate" c1 to c2, "ramp" r1 to r2, and "rotate" b1 to b2.
but this may be unsatisfactory if a1 and a2 lie in a common (j-2)-sphere a1Èa2 because
the intermediary k-spheres will not in general remain within the join. We will refer to this "directmost"
morphing of a1 to a2 as the slide from a1 to a2. We interpolate r,c, and b seperately
on l and recombine them to form ¦l(a1).
The splitting of a1 into c, r and b is determined by e0 and e¥. Regarding a1 as a blade
in Âp+1,q+1 we can pick any e+ and e- to conduct a "general homegenised disembedding"
into Âp,q. In fact, we can pick any null e0 and e¥
with e0¿e¥=-1
The slide is always available, but risks traversing potentially forbidden subspaces.
Rather than ramp r1 to r2 with r(l)=r1+l(r2-r1) we can ramp on r2 with r(l) = (r12+l(r22-r12))½ which has r'(l)=½(r22-r12)r(l)-1 rather than r'(l)=r2-r1.
We also have s(l)=s1+l(s2-s1) with squared radius
r(l)2 = l(l-1)(c1+c2)2 + lr12+(1-l)r22.
The Inside Slide
If a1 and a2 intersect it will be in a (m-2)-sphere for some m£k+2 equal to the
grade of the meet a1Ça2. The delta product
a1Da2 has even grade d = 2(k+2-m) and the
join is either a (2k+4-m)-blade rpresenting an encompassing (2k+2-m)-sphere having a particular centre c , or
the (N+2)-blade pseudoscalar e¥0i when m £ 2k+2-N . [ Previous webposted drafts of this document falsely asserted
join e-* ]
For N£3 the extended space has dimension N+2£5 so we can use a2Da1 as a decentralisation blade as described above.
d=2 arises when k=1, and when m=k (eg. if pj = qj for all but one j) corresponding to k-spheres a1 and a2 having k common points and intersecting in a (k-2)-sphere. Then we have the particularly simple case d= 2, the geometric product a2a1 has grades <0;2> only, corresponding to a2a1 = a2*a1 + a2×a1 with a2×a1 anticommuting with a1 and a2 providing a rotor blade.
If d=4 then the delta product commutes with a1 and a2 and may provide a suitable decentralisation blade. We can have two nonintersecting (m=0) bipoints (k=0) residing in a common 2-sphere (j=4) when N³3. For N ³ 4 we can have two 1-spheres (k=1) meeting in a point (m=1) and residing in a common 3-sphere (j=5); or two 2-spheres (k=2) meeting in a bipoint (m=2) and residing in a common 4-sphere (j=6) if N³ 5. For N³7 we can have two 2-spheres (k=2) meeting in a 1-sphere (m=3) and residing in a common 3-sphere.
Any tranformation ¦ taking a k-sphere a1 to a2
also defines a transformation F taking (N-1)-sphere s1* to s2* where
s1 = a1¿(e¥Ùa1) and s2=a2¿(e¥Ùa2).
We can see F as an "enclosing transformation"
that is "refined"to ¦ by being forced to map a particular k-plane slice
of s1* to a particular k-plane slice of s2*.
We can expect particular behaviour of ¦ (such as radii r passing through ¥)
to also arise in F. If we can keep the radii encountered in moving from s1* to s2* , the radii of ¦ will also be so limited.
Suppose for now that (s1Ùs2)2 < 0 so that enclosing hyperspheres
s1* and s2*
intersect in a (k-1)-sphere
m = Qb,s
of centre c, radius r £ Min(r1,r2), tangency (k-1)-blade b.
This means that s1*·Ès2*· has one, rather than
two seperate, "interiors" and
we are interested in transformations of a1 to a2 that remain either always inside, always outside, or always within
s1*·Ès2*· .
The natural grade-preserving transformation taking s1 to s2 is
Fl(x) = (l½p(s1Ùs2)~)↑§(x)
º
(l½p(s1Ùs2)~)↑ x((l½p(s1Ùs2)~)↑)§
.
As we take l from 0 to 4,
c(l) goes from c1 at l=0 through c2 at l=1 back to c1 (aquiring an irrelevant sign flip
of s) at l=2, then back to c2 at l=3, returning to c1 again at l=4.
In one of the intervals [0,1] and [2,3] (equivalent to taking l from 0 to -1) , the sphere s(l)* reamins insidie s1*· È s2*·
and s(l) coincides with the meet encloser s, for some l. We can think of s(l) as "sweeping the interior" of
s1*· È s2*· .
For the other interval, r(l) increases from r1 to ¥ (s(l) instantaneusly
the hyperplane through c of tangent b) and then drops back r2. We think of s(l)* as "sweeping the exterior".
As with many rotations, we have a choice of a "short way" and a "long way" round, and it is the half of the lÎ[-1,1] transformational "circuit" that attains minimal r(l)
rather than the one taking r through ¥
that principly interests us, since it provides a smooth bounded and continuous distortion, and this
is determined by whether r(l)2 = s(l)2 is falling or rising with l at l=0.
We will henceforth assume
that the "inside" (r minmising) of the two (±lw(s1Ùs2)~)↑§ rotors
(where w = sin-1(r1-1r2-1 |(s1Ùs2)2|½) is chosen
and denote it by Rls1®s2 .
We can meaningfully write
s1*· È s2*· =
ÈlÎ[0,1] Rls1*®s2* (s1*) because
the s(l)* hyperspheres sweep through the interiors of both hyperspheres.
Also s1*·
= ÈlÎ[0,1] Rlc1*®s1* (c1*) .
Given an inside transform Fl taking s1* to s2* with For r¹0
we have ak+2 = s= ak+2¿(e¥Ùak+2) and bk+1 = e¥0¿(sak+2)
so an obvious s1®a2 transformation is provided by
¦l(a1) = Q Rlb1®b2 , Rls1*®s2*
in which we transfrom s1 to s2 and b1 to b2 independantly.
Though b1 and b2 are in UN rather than _Udn% there may still remain a lot of freedom in choosing Rlb1®b2 .
The intermediate r(l) are independant of this choice, however, dependant purely on Fl.
If a1 and a2 lie in a common (j+2)-sphere, this transformation is not in general confined to that join.
Rather, the centre travels directly from c1 to c2; r adjusts to keep m within s(l);
while the tangency efficiently realigns to the target orientation.
There is no attempt to remain within a higher sphere so we will refer to such a transformation as an
inside slide. The k-sphere centre does not take a direct route, but rather a curve passing near
the meet centre c.
The Inside Swing
A natural restriction to impose on ¦ is to insist that k-sphere ¦l(a1) either contains or lies within
the meet (N-2)-sphere m=s1*Çs2* for some intermediary l Î [0,1].
If k=m=N-2 (such as when transforming circles in 3D) then we can split ¦ into two transformations
a1®m®a2 . We are still sliding the centre directly, but now the orientation
is aligned to "orthogonal to travel" on passing through the meet. We can regard this as an inside slide
but making a "token effort" to keep the orientaion orthogonal to the direction of travel of the k-sphere centre.
We will call this transform (for k=N-2) the inside swing .
If a1 and a2 are 2-blades representing bipoints then in general they will have scalar meet and 4-blade
2-sphere join j with a1a2 decomposing as a2*a1 + a2×a1 + a2Ùa1
into the sum of a scalar , a 2-vector, and a minussquare 4-blade.
The 4-blade commutes with a1
and a2 and because (a2×a1)2 is scalar provides a decentralisation blade
and so a logarithm (a1a2)↓.
5-blade cjÙj where
cj is the embedded centre of the join 2-sphere providing
a suitable i.
If a1 and a2 are 3-blades representing 1-spheres , then for N=3 we again have a1a2 decomposing <0;2;4> as a2*a1 + a2×a1 + a2Da1 but this time both a2Da1 and a2×a1 are minussquare blades. If a1 and a2 lie in a common 2-sphere we are dual to the bipoints case, and can form a roatation taking a1 to a2 within a1Èa2 but more generally the join is 5-blade e¥0e123 . So a1 and a2 must meet in at least a 1-blade m which for non-intersecting a1 and a2 will represent an "imaginary" (m-2)-antisphere with negative r2 but a particular centre c.
Thus for N=3 we can construct rotors to transform k-spheres .
Moving to N=4 means that unless two 1-spheres intersect or lie in a common 2-sphere, we lose the scalar squaredness of a1a2 - a1da2 - a1Da2 .
As a degenerate example, let
a2 = -4.25e¥e12 - 2e0e12 - 4e123 representing the
1-sphere of radius ½, centre 2e3 parallel to the e12 plane; and
a1 = -4.25e¥e12 - 2e0e12 + 4e123 representing the
similar 1-sphere centred on -4e3. Their join is the 2-sphere centre 0 of radius 2.06155, and the
product a2a1 = 33 + 34e¥e3 + 16e0e3 = 33 + 32.984895h where
h=1.3077e¥e3+0.48507e0e3 has h2=1, yielding (a1a2)↓ = 4.31836e¥e3 + 2.03217e0e3 .
This provides appropriate fractional powers of a2a1 for the transformation
x ® (a2a1)½lx(a2a1)-½l that for l=1 maps a1 to a2
and for l=½ maps a1 to the "join equator" 1-sphere having centre 0 and radius 2.01625
parallel to e12.
Thus is typical of transforms obtainied by logging the product. The k-sphere remains in the join but its radius can expand and contract considerably.
Mutating k-spheres
So far we have "rotated" k-spheres into k-spheres, the the logaithm based method described generalises immediately to
"transmogifying" a (k+2)-sphere ak into an (l+2)-sphere bl. We now explicitly do not want a grade preserving transformation
and this coincides with a failure of (blak)↓ to undergo reversion when commuted across ak. Our transformation is
x ® (l(blak))↑ x rather than
(½l(blak))↑ x (½l(blak))§ x .
The former preserves everything wholly outside the join akÈbl but the latter does not. However, if we are
only interested in morphing a particular (k+2)-sphere ak into a particluar (l+2)-sphere bl then we are essntially only intersted in
<k;l>-grade multivector (l(blak)↓)↑ ak which we can regard as a "union" or "superposition"
of a (k+2)-sphere and a (l+2)-sphere.
Transforming using control points
Returning to our degenerate example above,
we also have the more "direct" translation by d=4e3 of a1 to a2.
Letting a1=p+1Ùp2Ùp3 where p+1, p2 and p3 are any three distinct points in a1
we can express the translation as
¦l(a1) = ((-½le¥d)↑p+1(-½le¥d)↑)
Ù((-½le¥d)↑p2(-½le¥d)↑)
Ù((-½le¥d)↑p3(-½le¥d)↑)
with l=1 giving a2 . The intermediary 1-spheres now all have a common radius
rather than lieing in a common 2-sphere.
More generally, if we know that particular control points pi map to particular target points qi then we can construct operations that translate all the control points simultaneously in this way, but there is a danger that control trajectories will cross eachother, making the intermediary (k+1)-blade vanish for particular l Î (0,1).
Each of the d ei comprising the maximal absolute coordinate d-blade in a particlar extended frame representation of a1Da2 can be projected into a1 and a2. Chosing the one which minimises ¯a1(ei)2 + ^a1(ei)2 ensures that distinct 1-vectors p=¯a1(ei) and q=¯a2(ei) are both non small. The rotation ((1-g(l))½ cos-1(q¿p)(qÙp)~)↑§ will then rotate a1 into a (k-1)-sphere a1' contaning q instead of p. (g is a dropoff function of choice). We can then rotate a1' into a2 by recursion, because the dimension of the meet will have risen by one, and d fallen by two.
Thus we have the basis for an algorithm that rotates a1 to a2 in ½d distinct "stages", one "control point" at a time; implicitly chosing particular frame-dependant but generally appropriate control points. At the ith stage, the algorith will typically pick a point pi within a1 (i) that has the "furthest" to rotate to its destination qi in a2 and then "bend it out" towards qi. Once qi is reached it is "locked" into the (k-1)-sphere and preserved within it by subsequent elemental rotations. The composite "rotation" (½q½d-1(p½d-1Ùq½d-1~)↑§... (½q0(p1Ùq1)~)↑§ rotates a1 into a2 through d intermediary (k-1)-spheres a1 (1) with a1 (0) = a1 and a1 (d) = a2. The control point pi lies within a1 (i) rather than a1 but we can always "backrotate" it by (½qi-1(pi-1Ùqi-1)~)↑§... (½q0(p0Ùq0)~)↑§... into a control point p' within a1 that is rotated to qi by the final composite rotation.
Though this algorithm is frame dependant in the detail, it's broad behaviour is coordinate free and
avoids the use of explicit control points , the penalty for "discretising" the rotation into ½d
seperate "phases" is that a1 may "contort" into (k+1)-spheres of wider varying radii than we can obtain by a simultaneous blending between
multiple explicit control points.
The composite "rotation" is more like a "shimmey" than a "glide", sending out a "connective bulge" or "feeler"
and then "pulling in" the segments.
Next : Multivector Arcana