Sierpinski (<1K) Multivectors as Transformations
    "It is a profoundly erroneous truism, repeated by all copy books and by eminent people when they are making speeches, that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them." --- Alfred North Whitehead.

    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+e0xe0d) = (1+e0xe0d - ½ 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+e0e¥x2)(1+½e¥d)   =   (1+½de¥)(x+e0e¥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+e0d2e¥.

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)(ne0m) = 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)(ne¥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 particular, Rb,q,q(y) = cos(q+f)¯(y,b) - sin(q+f)y¿b     which is a rotatation of 2-plane b by 2q (preserving b*). Thus the spinor eqb rotates 2-plane b by angle 2q when used as a rotor.

3D Rotations

    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 = eia = 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:



4D Rotations

    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

    Let ebb=be4 and egc=ce4 . We can express ebb as (edd)§(c) where edd=de4 . We then have
Rb,c,b,g(y)º ebdyegc = edd egc edd§ yegc = eddRc,c,g,g (edd§y) = eddRc,g,-g (edd§y)
corresponding to a rotation of 2-planes d and d* by -d, followed by a rotation of 2-plane c* by 2g, followed by rotations of d by d and d* by -d.

Affine Model

    Rotation by angle |a| about axis c+la is given by Ra, c = Ra, 0 + ½ e0(c × Ra, 0)

Generalised Homogeneous Coordinates

    Rotation by angle |a| about axis c+la is given by Ra, c = Ra, 0 + ½ e¥(c × Ra, 0) = (-½ia) + ½e¥(c × (-½ia)) = (-½ia) + ½e¥(c ×  sinh(-½ia)) .

Inversion
    Inversion of ÂN is only representable as a Lorentz form in ÂN+1,1.

Generalised Homogeneous Coordinates
    We have seen that the ÂN+1,1 1-vector s=cr2e¥ 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)+e0g(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 ® (e0e¥)(1+½e¥d)(e0e¥) x (e0e¥)(1-½e¥d)(e0e¥)   =   (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 = ( coshfsinhf)e0coshfsinhfe¥0) = ( coshfsinhf)( coshfsinhf)e0 = e2fe0. Similarly ee¥0fe¥e-e¥0f = e-2fe¥.
    Thus ee¥0fxe-e¥0f = ee¥0f(x+e0x2e¥)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^ ] Effects(x)
e¥d)§Translation by dÎi1
e0d)§Transversion by dÎi1
(-½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§=11
-(ak+2)#-1Reflection in k-sphere or k-plane ak+2-1


Spinor Transforms
    We see above that transforms of perhaps greatest interest are spinor transforms of the form A-↑(x) º (A)-1(x) º Ax(-A) where A is usually even and often satisfies (-A) = (A)^ for some reversing conjugation ^ so that A-↑ = (A)^ .

    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 qp.
    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.

Sierpinski (<1K) 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,bak+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,bak+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,bak+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,dgm(_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,bak+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)) xl(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


Glossary   Contents   Author
Copyright (c) Ian C G Bell 1998
Web Source: www.iancgbell.clara.net/maths or www.bigfoot.com/~iancgbell/maths
Latest Edit: 01 Jun 2007. Counter