Our formal discussion of paths, surfaces, and other

A * k-tube* is thus the

A 0-tube is a 1-curve,

A 1-tube is the twin trajectories formed by sweeping a bipoint through

A 2-tube is the tubelike surface formed by sweeping a circle through

A 3-tube is the filled tubelike volume formed by sweeping a 2-sphere through

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] }**a**_{k+1}(l) =
**È**_{lÎ[a,b] }
(bÇ**a**_{k+1}(l)) .

For the sake of definiteless, let us take *k*=1 and suppose {**a**_{k+1}(l)} representes a deformed
*k*-curve while b is a 3-blade representing a line or a circle. Each **a**_{k+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Ç**a**_{k+1}(l))^{2}=0 and even this is insufficient to pick up the exceptional double intersections
when b lies along a diameter of **a**_{k+1}(l) . Even though the meet
bÇ**a**_{k+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 {**a**_{k+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 **a**_{k+1}(l) = **¦**_{l}(**a**_{k+1}_{0}) for some invertible outtermorphic tranform **¦**_{l}
we have

bÇ **È**_{lÎ[a,b] }**¦**_{l}(**a**_{k+1}_{0}) =
**È**_{lÎ[a,b] }(**¦**_{l}( **¦**_{l}^{-1}(b)Ç**a**_{k+1}_{0}) )
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 b_{l+1} with *k*-tube {**a**_{k+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}(**a**_{k+1}_{0})
Ç **È**_{mÎ[c,d] }*g*_{m}(b_{l+1}_{0})
=
**È**_{l,m} **¦**_{l}(**a**_{k+1}_{0}) Ç *g*_{m}(b_{l+1}_{0})
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 *U*_{N}^{%}.

The problem is of course that while the *k*-tube
**È**_{lÎ[a,b] }**a**_{k+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 = *j*K^{-1} .

Clearly *k*-tubes can intersect themselves. The l parameter is not interpreted as a "time", all
the **a**_{k+1}(l) are considered to "exist together" and a given *U*^{N} point can lie within more than one of them.
A **d****-extruded k-tube** is a

[ Under Construction ]
Consider 1-vector

**A**= ò_{0}^{L} *d*l **a**+l*d* +*e*_{0} + ½(**a**+l*d*)^{2}*e*_{¥}
= `L`(**a**+½`L`*d* + *e*_{0} +
½(**a**^{2}+(**a**¿*d*)`L`+1/3`L`^{2}*d*^{2})*e*_{¥}
with

**A**^{2}
=
½`L`^{2}(**a**^{2} + 6^{-1}`L`^{2}*d*^{2} + `L`**a**¿*d* )
formed by superposing (adding) multiple embedded points
.

Dividing by `L` for unit *e*_{0} coordinate gives dualed hypersphere `L`^{-1}**A** as the "average" of the line segment, and taking
scalar product ** p**¿

Consider a (

Suppose a

We thus seek a transformation of the form

Note first that as pure blades, a_{1} and a_{2} have scalar square and so
(since a_{1}^{2} commutes with a_{2} and a_{2}^{2} commutes with a_{1})
both a_{1} and a_{2} anticommute with a_{1}__×__a_{2}.

Recall that a_{2}Èa_{1} = a_{2}'(a_{2}Ça_{1})a_{1}' where even *d*-blade a_{2}'a_{1}'
is spanned by the delta product a_{2}Da_{1} of signature (a_{1}Da_{2})^{2} and
commutes with 1-vectors in the meet or outside the join while anticommuting with 1-vectors in the disjoint.

Thus if (a_{2}Da_{1}) has negative square
(¼p(a_{2}Da_{1})^{~})^{↑}_{-1}
preserves (a_{1}Ça_{2}) and (a_{1}Èa_{2})^{*} while taking **x**Îa_{1}Da_{2}
to
(½p(a_{2}Da_{1})^{~})^{↑}**x**
= (a_{2}Da_{1})^{~}**x**
and so takes a_{1}' to a real multiple of a_{2}' while preserving a_{1}Ça_{2}
and so takes a_{1} to a real multiple of a_{2} as required.

Thus if the delta product has minus square we can use it as an even rotor blade

If a_{1}Da_{2} has positive square it
may still provide a decentralisation blade
provided a suitable i exists,
allowing analytic computation of a particular (a_{2}a_{1})^{↓} .

We have a_{2}a_{1}=a_{2}_{*}a_{1} + b + a_{2}Da_{1} 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 a_{2}Da_{1}.

*d*=0 arises when a_{1}=aa_{2} . 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
a_{2}a_{1} = a_{2}_{*}a_{1} + a_{2}__×__a_{1}. Since a_{2}__×__a_{1} anticommutes with a_{1} and a_{2}
it provides a rotor blade if it has negative square.

When *d*=4 the delta product commutes with a_{1} and a_{2} and may provide a suitable decentralisation blade.
Now
a_{2}__×__a_{1} has grade <2;6;10;...;*d*-2> while
(a_{2}__×__a_{1})^{2} = a_{2}a_{1}a_{2}a_{1} + a_{1}a_{2}a_{1}a_{2} - 2a_{1}^{2}a_{2}^{2}
has
(a_{2}__×__a_{1})^{2}^{§} = (a_{2}__×__a_{1})^{2} and so must have grade <0;4;8;...*d*> and the *d*-blade component must be a multiple of
a_{2}Da_{1}. For *N*£7 we thus have
(a_{2}__×__a_{1})^{2} = a + ba_{2}Da_{1} when *d*=4, enabling us to decentralise on a_{2}Da_{1} and form a logarithm
though if (a_{2}Da_{1})^{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

a_{2}a_{1} = a_{0} + a_{2}**A _{2}** + a

When

Though the 4-grade componet of

Since (

Suppose we have two distinct *k*-spheres represented by two unit (*k*+2)-blades
a_{1} = Q_{b1,s1} and a_{2} = Q_{b2,s2} in (*N*+2)-dimensional space *U*^{N}^{%}
for 1 £ *k*<*N* .
In a typical application we might have
a_{1} = ** p_{1}**Ù

For *k*=1, we might regard the 1-sphere as passing through the points in the particular order ** p_{1}**,

In an intrinsically distinct class of problems, we merely seek to "rotate" or "transform" unit

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 SO_{k}
more generally).
** The Slide **

The simplest way to "morph" a_{1} to a_{2} is to simulataneously and independantly "translate" **c _{1}** to

The splitting of a

Rather than ramp r_{1} to r_{2} with r(l)=r_{1}+l(r_{2}-r_{1}) we can ramp on r^{2}
with r(l) = (r_{1}^{2}+l(r_{2}^{2}-r_{1}^{2}))^{½}
which has r'(l)=½(r_{2}^{2}-r_{1}^{2})r(l)^{-1} rather than r'(l)=r_{2}-r_{1}.

We also have **s**(l)=*s*_{1}+l(*s*_{2}-*s*_{1}) with squared radius
r(l)^{2} = l(l-1)(**c _{1}**+

If a

For *N*£3 the extended space has dimension *N*+2£5 so we can use a_{2}Da_{1} as a decentralisation blade
as described above.

*d*=2 arises when *k*=1, and when *m*=*k* (*eg.* if ** p_{j}** =

If *d*=4 then the delta product commutes with a_{1} and a_{2} 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 a_{1} to a_{2}
also defines a transformation **F** taking (*N*-1)-sphere *s*_{1}^{*} to *s*_{2}^{*} where
*s*_{1} = a_{1}¿(*e*_{¥}Ùa_{1}) and *s*_{2}=a_{2}¿(*e*_{¥}Ùa_{2}).
We can see **F** as an "enclosing transformation"
that is "refined"to **¦** by being forced to map a particular *k*-plane slice
of *s*_{1}^{*} to a particular *k*-plane slice of *s*_{2}^{*}.

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 *s*_{1}^{*} to *s*_{2}^{*} , the radii of **¦** will also be so limited.

Suppose for now that (*s*_{1}Ù*s*_{2})^{2} < 0 so that enclosing hyperspheres
*s*_{1}^{*} and *s*_{2}^{*}
intersect in a (*k*-1)-sphere
m = Q_{b,s}
of centre **c**, radius r £ *Min*(r_{1},r_{2}), tangency (*k*-1)-blade b.

This means that *s*_{1}^{*}^{·}**È***s*_{2}^{*}^{·} has one, rather than
two seperate, "interiors" and
we are interested in transformations of a_{1} to a_{2} that remain either always inside, always outside, or always within
*s*_{1}^{*}^{·}**È***s*_{2}^{*}^{·} .

The natural grade-preserving transformation taking *s*_{1} to *s*_{2} is
**F**_{l}(x) = (l½p(*s*_{1}Ù*s*_{2})^{~})^{↑}_{§}(x)
*º*
(l½p(*s*_{1}Ù*s*_{2})^{~})^{↑} x((l½p(*s*_{1}Ù*s*_{2})^{~})^{↑})_{§}
.
As we take l from 0 to 4,
**c**(l) goes from **c _{1}** at l=0 through

In one of the intervals [0,1] and [2,3] (equivalent to taking l from 0 to -1) , the sphere

We will henceforth assume that the "inside" (r minmising) of the two (±lw(

We can meaningfully write

*s*_{1}^{*}^{·} **È** *s*_{2}^{*}^{·} =
**È**_{lÎ[0,1]} R^{l}_{s1*®s2*} (*s*_{1}^{*}) because
the **s**(l)^{*} hyperspheres sweep through the interiors of both hyperspheres.

Also *s*_{1}^{*}^{·}
= **È**_{lÎ[0,1]} R^{l}_{c1*®s1*} (**c _{1}**

Given an inside transform **F**_{l} taking *s*_{1}^{*} to *s*_{2}^{*} with For r¹0
we have a_{k+2} = **s**= a_{k+2}¿(*e*_{¥}Ùa_{k+2}) and b_{k+1} = e_{¥0}¿(** s**a

Though b

If a

A natural restriction to impose on

If a_{1} and a_{2} are 2-blades representing bipoints then in general they will have scalar meet and 4-blade
2-sphere join j with a_{1}a_{2} decomposing as a_{2}_{*}a_{1} + a_{2}__×__a_{1} + a_{2}Ùa_{1}
into the sum of a scalar , a 2-vector, and a minussquare 4-blade.

The 4-blade commutes with a_{1}
and a_{2} and because (a_{2}__×__a_{1})^{2} is scalar provides a decentralisation blade
and so a logarithm (a_{1}a_{2})^{↓}.
5-blade *c*_{j}Ùj where
*c*_{j} is the embedded centre of the join 2-sphere providing
a suitable i.

If a_{1} and a_{2} are 3-blades representing 1-spheres , then for *N*=3 we again have
a_{1}a_{2} decomposing <0;2;4> as a_{2}_{*}a_{1} + a_{2}__×__a_{1} + a_{2}Da_{1} but this time
both a_{2}Da_{1} and a_{2}__×__a_{1} are minussquare blades.
If a_{1} and a_{2} lie in a common 2-sphere we are dual to the bipoints case, and can form a roatation taking a_{1} to a_{2} within
a_{1}Èa_{2} but more generally the join is 5-blade e_{¥0}e_{123} . So
a_{1} and a_{2} must meet in at least a 1-blade m which for non-intersecting a_{1} and a_{2} will
represent an "imaginary" (*m*-2)-antisphere with negative r^{2} 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
a_{1}a_{2} - a_{1}da_{2} - a_{1}Da_{2} .

As a degenerate example, let
a_{2} = -4.25*e*_{¥}e_{12} - 2*e*_{0}e_{12} - 4e_{123} representing the
1-sphere of radius ½, centre 2**e _{3}** parallel to the e

Thus is typical of transforms obtainied by logging the product. The

So far we have "rotated"

Returning to our degenerate example above, we also have the more "direct" translation by

More generally, if we know that particular control points ** p_{i}** map to particular target points

Each of the `d` **e _{i}** comprising the maximal absolute coordinate

Thus we have the basis for an algorithm that rotates a_{1} to a_{2} in ½*d* distinct "stages",
one "control point" at a time; implicitly
chosing particular frame-dependant but generally appropriate control points. At the *i*^{th} stage,
the algorith will
typically pick a point **p _{i}** within a

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 a_{1} 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.
** e_{+} seperation**

Any multivector x in

Let e

x

xx

For odd

x

xx

For even

x

xx

For odd *N*, shell condition xx^{»}=l becomes

(x_{+}+**e _{+}**X

Thus any even

Rather than rotating x to x'=x

We can also decompose x in *U*_{N}^{%} as x
= x(1+x_{+}+iX_{+}) where i=_psiee0 and
x_{+} and X_{+} both reside in **e _{+}**

Now x

= (x

= (x

xx

= (x

= (x

Hence x

When i^{»}=-i we have
x^{»}x = (x^{»}x)(1
+ x_{+}^{»}x_{+}
+ X_{+}^{»}X_{+}
+ 2(x_{+}_{<»+>} + iX_{+}_{<»->}
+ i(x_{+}^{»}X_{+})_{<»->} )
= (x^{»}x)(1
+ x_{+}^{»}x_{+}
+ X_{+}^{»}X_{+}
+ 2(x_{+} + iX_{+}
+ i(x_{+}^{»}X_{+}))_{<»+>} )

and when
i^{»}=i we have
x^{»}x = x^{2}(1
+ x_{+}^{»}x_{+}
- X_{+}^{»}X_{+}
+ 2(x_{+} + iX_{+}
+ i(x_{+}^{»}X_{+}))_{<»+>} )

If (x_{+}^{»}x_{+})_{<0;N+1>}¹0
and (X_{+}^{»}X_{+})_{<0;N+1>}¹0 we have decomposition
x = x(1 + x_{+}x_{+}^{~} + X_{+}X_{+}^{~})
where x_{+}^{~}^{»}_{*}x_{+}^{~}=±1 ,
X_{+}^{~}^{»}_{*}X_{+}^{~}=±1 , and
x_{+} and X_{+} reside in *A _{lgebra}*{i

To interpolate a "rotation" from x(0) to x(1) we thus set x(l) = g(l)x(0) + (1-g(l))x(1) ; x

If x

In rotating x

The *strong shell condition*
x^{»}x = a
requires
( x_{+}^{»}x_{+}
- X_{+}^{»}X_{+}
+ 2(x_{+} + iX_{+}
+ i(x_{+}^{»}X_{+}))_{<3;4>}=0 when ^{»}=^{§}^{#}
while obeying *weak shell condition*

x^{»}_{*}x
= |x|_{+}^{2}(1
+ x_{+}^{»}_{*}x_{+}
+ X_{+}^{»}_{*}X_{+} )
and when i^{»}=i we have

x^{»}_{*}x
= x^{2}(1
+ x_{+}^{»}x_{+}
- X_{+}^{»}X_{+} .

Next : Multivector Programing

Glossary Contents Author

Copyright (c) Ian C G Bell 1998, 2014

Web Source: www.iancgbell.clara.net/maths

Latest Edit: 28 Jun 2015.