 MULTIVECTOR APPLICATIONS Multivector CAD Applications

"If you want something new, you have to stop doing something old." --- Peter F. Drucker

New Rotations
The "rotation" x ® eqa) x e(-½qa) where x is a GHC construct can be regarded as a rotation of x about "axis" a. If a is 2-blade dual to a circle S, then we have rotation "through" the circle S, or rotation around a circular axis. Rotation around ("through") a circular axis provides a generalisation of rotation around a line that unifies rotation with translation; expanding geometric design gestures with non-Euclidean tramnsformatins that preserve angles but not, in general, length and providing a broader class of solids of revolution and naturally splayed extrusions, for example.   Any CAD gesture taking a line rotation axis or a uniform displacement extrusion has a well defined mathematical generalisation easily user interfaced simply by replacing the linear axis or displacement vector control with a user circle input capable of handling the degenerate line and infinite-radius translation cases If a is dual to a weighted sum of circles and lines, we have rotation "around" a "composite axies". Such rotations tend in general not to be closed or periodic, and may converge or diverge, but they are infinitaely smooth and differentiable analytically as a geometric product. Here a circular profile curve rotated ("swept") around a composite axis comprising weighted combination of two orthogonally, and nonorthogonally aligned circles. Any weighted combination of circles and lines canonically decomposes most generally into, in 3D, two mutually inversive (each it's own reflection in the other) real and imaginary circles whose commuting blade representations provide an easy factoring of the exponentiation into seperate simple trigonometric and hyperboolic computations.

The "canonical axies" for the circular sweeps are not shown in the above images, but would usefully form part of a CAD comnposite rotation UI. Any two such commuting circles or lines also generate for each position p0 an orthogonal parametrisation of a rapidly computable 2-curve p(u,v) º euB1) evB2) p0 e(-½vB2) e(-½uB1) containing p0=p(0,0), degenate cases of which include cylinders and tori, with Dupin cyclide knots emerging when the blades are coprimally weighted    Given two circles S1 and S2, the 2-vector logarithm of Â4,1 <0;2;4>-vector S2S1-1 provides interpolable transformation taking S1 to S2. One can rotate S1 to either S2 or -S2, giving two surfaces combining to enclose a naural BREP defined by the the two circles. If the rotation is aperiodic, extending the S1 to S2 rotation over [0,1] to (-¥,+¥) provides a constant curl closed skin of the two circles.   The canonical decomposition of linear combinations of 3D circles into real and imaginary circles provides a more rapidly computable natural linear interpolation between cirlce. Rotating a circular profile through a circular axis itself rotating through a circular axis produces a highly self intersective form.

The general trajectory of points under rotation with a circular axis are circular but points on the straight axis axis traverse that axis. The trajectortory of the origin e0 rotated in a circle of radius R centered on e0 with axis direction e3 is cosq)2(e0 + tanq)Re3 + tanq)2R2e¥) leaping from ¥e3 to -¥e3 with zero weight as q passes through p, and decelerating to return to e0 at q=2p with speed R, The angle required to translate (0,0,z1) to (0,0,z2) along the z-axis is 2( tan-1(R-1z2) - tan-1(R-1z1)).

Localised Rotations
A localiser is a set of n geometric objects S1,S2,..Sn proximity to which we wish to measure. We require a separation s(p,S)  measuring the seperation of a given point p from object S that is 0 on S and nonzero away from S, possibly signed according to inside/outsideness wrt S. We use n pre-pulse Real() ® (-1,1) functions z1,i(s) with z1,i(0) small and tending to ±1 for large |s|, such as z1,i(s)  =(1 + s2+ei)-1(s2+ei) mapping 0 to (1+ei)-1ei .   Having combined the separate separations s(p,Si) into a single bounded separation from the localising set {Si} with the product s(p, {Si})   =   Pi=1n  zi(s,p,Si) one can use a final pulse function z2(s) mapping [-1,1] to [-M,M]  with   z2(0)=M and z2(±1)=0 to convert  bounded separation s(p, {Si}) into a bounded proximity potential or# agitation factor locally maximised on each mv(S) and small far from them all, somewhat analagous to a fuzzy multivector membership function. z2(x)   =   m(l+|x|(1+b))-g for small positive l is convenient since b > 0 smooths out the G1 discontinuities at zero separation,  while g>0  determines the rate of falloff from the M=ml-g peak at zero separation. If l>0 the potential at p is confined to [-M,M] and locally extremal over each Si, infinitely continuous everywhere except for possible G1 ridge or fold discontinuities on the Si if b<0. If l<0 we have z2(x) infinite at x=-l

If we localise a rotation through a single hoop of a surface element substantially parallel to the hoop, or a composite axis dominated by such a hoop, we obtain a rotational extrusion emboss, but generalising it it in four distinct and fundamental ways: the sketch lines lie in a general surface rather than a plane; the extrusion is a rotation around a composite axis rather than translation in a common z direction (tending as the radius of an axis hoop approaches infinity to a unidirectional translational extrusion); The extent of the extrusion is variable (localised) rather than uniform across the sketch; and rather than driving and defining the edges of new surfaces, the sketch lines extrude as ridges, folds, or bulges (depending on b) in a shared surface.   Rotation through a circular axiws, localised by proximity to that axis. So it "bulges" the model through the hoop, providing an intuitive and controllable CAD gesture for pulling and pushing models. Quite late in the non-localised rotation through a cricular exis with axis passing through the model, the lettered surface axis meet having passed through ¥ but the base of the "bowl" remaining to do so. the model has inverted and is inside out , a void in an infinite solid, which is why the lettering is reversed, The handle of the basket is inside the void, so appears to be inside the BREP. Because the rotation is not localised, no self intersections are introduced. Here a rotation trhough a circular axis localised by proximity to another circle. Points rotated to outside an imposed bounding sphere B are invereted in that bounding sphere p ® B*pB*, introducing G1 discontinuities at the surface of the bounding sphere but converting the infinite discontinuities at infinity to continuous traversal through its center, and potentially introducing self-intersections. This is also quite late in the rotation, and there has been considerable reflection back into the bounding sphere, resulting in "fronds". This deformation is specified by just two circles, a bounding sphere, three localising parameters and the transform angle q.

Tolerant Positions
When computing geometrically we encounter computational noise and imprecison. The same thing computed two different ways is unlikely to be recognised the same by == . Typically, geometric programmers add a small positive positional "tolerance" h and decree that any seperation less than it is zero, or at least ignorable.
In conformally embedded GA, 1-vector s = s( e0 + c + ½(c2 - r2)e¥  ) is interpreted as dual to a (N-1)-sphere of center c and radius r, weighted by scalar s. We have s2 = s2r2 and allow "imaginary" or anti-spheres with r2 < 0. The wieght s gives problems only when passing through or near zero which it usually does only as c passes through infinity, often smoothing out infinite dicontinuities as a BREP inverts. When r=0 we have a position or point p with p2 = 0, suggesting positions be viewed as dual to zero radius spherical sprfaces, whose nullity makes their exponentiate trivially and the products of positions are particularly elegant and intuitive.

Conformally embedded positions reside on the "null horosphere" { p : p2 = 0 ; p¿e0 = 1} . To accomodate tolerance one embeds instead in a tolerance horosphere { p : p2 = h2 ; p¿e0 = 1} for small real h using origin grain eh º e0  - ½h2e¥ with eh2 = h2 in place of e0 when corformally embedding positions. We will refer to a sphere of radius close to h as a grain and a sphere of radius precisely h as an exact grain. Because GHC stores the (squared) radius of a sphere "mixed in" with the center coordinates, the precision of the radius is merged with and comparable to the precisions of the coordinates, exact grains cannot be represented except at exceptional positions; and as we process a grain p through geometric computations, its radius may drift further from h, with p2 - h2 providing a computable measure of the imprecision of both radius and the positional coordinates.

The product ab of two distinct embedded positions a, b is a scaler representing their seperation and a 2-blade aÙb dual (in 3D) to an an imaginary circle once intersected with null horosphere. For granular a and b, if aÙb)2 £ 0 then the grains are close, intersecting in a circle (or a point if they are just kissing) when aÙb dually embodies the "intersective pencil" space of all spheres and planes whose surfaces contain that circle, which on restriction to the tolerant horosphere gives the two exact grains that meet at the circle. If a and b are large grains meeting in a circle of radius > h then we have something imaginary in the tolerant horosphere instead, and the two grains can be considered   super-same, even more the same grain than if they were the same grain, providing a computable "snap confidence". If they intersect in a circle of radius precisely h then then their tolerant horosphere outter product vanishes. We thus only lose all information from the outter product of two distinct grains if they meet in a cicle of radius precisely h. This is computatonally less likely than two singular positions being precisely the same, so grains preserve distinctness through equivalences better.
If aÙb)2 > 0 then the grains do not (dually) intersect and aÙb numerically embodies particular positions p and q mutually inversive in both a and b in that the reflection (inversion) of p in the a sphere is q , and the reflection of p in the b sphere is also q. If the reflection of p in another sphere, or plane, c is q then we will have aÙbÙc = 0 .
Thus for non-intersecting a* and b* the 2-blade aÙb dually embodies a "Poncelet pencil" space seperating the spheres.

The product abc of three embedded positions a, b, and c, has 3-blade component aÙbÙc representing the circle or line through the points, and 1-vector component dual to the sphere passing through a and c with centre (A2-B2+C2)-1 (Aa-Bb+Cc) and radius -ABC(A2-B2+C2)-1 ; where A is the distance between b and c etc. When a,b, and c are grains rather than null positions the coordinates of abc deviate slightly by order h2, the deviations embodying helpful geometry. If the three spheres intersect it is most generally in a bipoint with aÙbÙc dually representintg the 3-bunch of all bipoints, lines, circles, planes and spheres contaning that bipoint. Restricting the 3-bunch to to the tolerant horosphere gives all exact grains sat on by the bipoint, sweeping a solid apple torus of minor radius h.
In the more likely case of their not intersecting, writing aÙbÙc = (ac - A2e¥)^(bc - B2e¥)^(ccc - C2e¥) where ac,bc,cc are the embedded centers of the spheres, aÙbÙc dually represents a Poncelet circle of all k-planes and k-spheres orthogonal to the orthogonal (aka radical) circle of the three great circles defined by intersecting the spheres a*,b*, and c* with the plane e¥ÙacÙbcÙcc .
The orthocircle represented conformally by aÙbÙc solves "Monge's Problem" and the wedge product of three grains is an h torus on their orthocircle (aka. radical circle).

Given four sphere duals, if they intersect the wedge provides an intersecting bunch of all k-sphers and k-planes sat on by the intersection. If they do not intersect then aÙbÙcÙd is the "orthosphere" , the 2-sphere orthogonal to the four 2-spheres, dually representing the "Poncelet sphere" space of all spheres, circles, bipoints, planes etc. orthogonal to the orthosphere. Assuming the orthosphere has radius exceeding e, restricting to the tolerant horosphere gives a grainset sweeping a spherical "shell" of thickness e . If the four spheres are far seperated grainst, the central sphere will differ from grain center spanned sphere negligably at order h2 . The wedge of four grains is a spherical h shell on their orthosphere.

Most geometry kernals fail to provide operator::+(position, position) or operator*(double,position) because they mistakenly consider such geometrically meaningless. More precisely: la + mb is only considered meaningful when l=-m (a (scaled) displacement vector); or when  l + m = 1 (a collinear point).
To make position-space a vector space we recognise points as dual to zero radius spherical surfaces. Setting a=e0 , b = e0 + xe1 + ½x2e¥ WLOG we obtain la + mb = (l + m) (e0 + (l + m)-1m xe1 + (l+m)-1m½x2e¥) which is the (l+m) weighted dual of the sphere with center the averaged position (l+m)-1 (la + mb) and squared radius (l+m)-2lm(a - b)2
l+m is simply the weighting of the resultant sphere, it is the ratio l:m that matters. If we rescale so that l+m=1 then the radius the sphere la+mb is the geometric mean |lm|½ times the distance |a-b|, though if l and m have the same sign, this is an antisphere. Thus the "midpoint" ½ab is an antisphere of squared radius - ¼(a-b)2.
This is the radius that allows s¿a + s¿b = (l+m)a¿b = - ½(a-b)2 and one can verify easily that s¿a is ½(s2-(s-s)2) which is just a particular measure of the separation between a and the surface of the sphere s*: Typical of the sort of length measure provided by GA, positive for a inside s* when it corresponds to the squared length of a perpendicular to (a-s) from a to the sphere; and negative for a outside s* when it corresponds to the squared length of a tangent from a to the sphere.

The radius s of s* is such that the squared seperation from a to s* plus that from b to s* equals the squared seperation from a to b. The locus of la + mb is somewhat analagous to an ellipse with foci a and b, but moving through spherespace and adding signed squared lengths. A sphere centred between a and b has to have imaginary radius to allow the squared seperations to add correctly. Only when l and m have opposite sign corresponding to an "averaged position"  outside the line segment between a and b can the sphere have  a real radius.

Adding positions provides a natural "radius" for facets. If we add K coplanar positions p1, p2, ..pK then their conformal åi pi = K(e0 + (K-1)-1åi pi - (K-1)-1åi¹j (pi - pj)2) is a K-weighted antisphere of radius (K-1)-1 (åi¹j (pi - pj)2)½ centered at the conventional facet "center". If the facet is an equilateral triangle, this is the radius of the circumcircle. For a reular polygon it is K times the side length. If the triangular facet is very flat and thin with lengths A » 2B»2C this is approximately 6A. If the facet is tall and thin with A»B and small C or a right-angled triangle with hypotenuse A it is 2½A.

Universal Geophysical Data Format
The 26=64 real coordinates of Â4,2n conformaly embedding Minkowski spacetime multivectors provide a generic data packet for representing electromagnetic boosts, linear and angular momentae, 3D and spacetime spheres, circles, lines, planes, positions, vectoors, and tangents, transforms, dilations, translations, quaternions, spinors , twists, shape and phyical tensors generally. As Krasauskas observes, all three Laguerre geometry models are contained in Â4,2: the cycolgraphic model in Â3,1, the Blaschke cylinder, and the Isotropic Model in Â2,0,1 with e¥ taypically taken as the null isotropic vertical.direction and e12 defining the "top view".
Adding a further spacial dimension for the 128 coordinate conformally embedded Â5,1 provides a central i pseudoscalar and a simpler Dirac Equation. e

Inversive Parameterisations
Whereas Geometric Algebra is not necessary for spherical inversion, particularly within the conformal embedding it provides a natural and robust computational grammar for such and the manipulation of spheres and circles generally withinthe conformal embedding.

Let S=aÙbÙd be as circle through points a,b,d and assume we are interested in the circular arc from a to b that excludes d. Let D be a sphere centred d of radius D>0; typically we might hacve D=1 and D=(e0+d+½(d2-1)e¥)* . Krasauskas observes that as S inverts in D into line D(S) = DS(D#)-1   =   D(a)ÙD(b)Ùe¥ so we can parameterise the arc from a to b as the inversion in bl(D) of a linear interpoaltion from D(a) to D(b). Taking u to the displacement vector projection of D(b)-D(a) into the unembedded pseudoscalar we have a rational parameterisation D( (1+½te¥u)D(a)(1-½te¥u) ) of the circular arc from a to b.
In Homogenous Coordinates, the inverse of p=p+e0 is d+D2|p-d|-2 (p-d) + e0   =   d + (p-d)-1 , and the linear interpolation is (1-t)(a-d)-1 + t(b-d)-1 + d) inverting to (aw0(1-t) + bw1t) (w0(1-t) + w1t)-1 where w0 = (a-d)-1 , w1 = (b-d)-1 can be regarded as controll-point dependent multivector weights of a generalsed rational Bezier curve. Such multivector weighted Bezier like curves are of increasing interest.

Similarly a spherical patch (with circular arc boundary elements) inverts in any sphere centered on a point outside the patch on the sphere to a planar patch (with planar circular arc boundary elements), and a Bezier curve on a sphere can be inverted to a rational planar curve ..

Dupin cyclides are of relevance to CAD both as natural blends between quadratic surfaces and as genertors of circular arc structures of freeform architecture. A Dupin cyclide patch inverts in the cyclide's sphere of inversion to a conic, cyclindrical, or toroidal patch. One natural GA representation of a Dupin cyclide is perhaps the three mutually tangental spheres whose envelope of cotangential spheres defines the cyclide, however Dupin Cyclides can also be considered as circles in sphere space. piKe337!3 pi
The 3-blade s1Ùs2Ùs3 represnts the Pencil

Pointcloud Analysis
Following Dorst, given a set of M conformally embedded N-D points pi we seek a best fit (N-1)-sphere s* having centre c and squared radius r2 minimising "GA squared deviation" E(s) = åi=1M  s-2 (pi¿s)   =   åi=1M  r-2 (r2 - (c - pi)2)2)   =   åi=1M  di2(1 + r-1di + (½r-1di)2) where di is the signed distance from pi to s*, rather than the more usual (but recently questioned as biased) least squares fit sphere minimising åi=1M di2 .
Any locally minimising s solves (åi=1M  pi(pi¿s)) Ù s = 0 and so is an eigemvetor of P(x)   =   åi=1M  pi(pi¿x) and since s¿P(s) = s2   E(s)  we have E(s) = s-1¿P(s) so the cost E(S) of a P() eigenvector s is the associated eigenvalue, so we seek the minimal nonnegative eigenvalue; a standard linear algebra eigenvalue problem solvable faster than standard true least squares iterative aproaches.

Dorst shows that the N+2 orthogonal eigenvectors of the symmetric linear mapping P(x)   =   åi=1M  pi(pi¿x) correspond to N+1 orthogonal (intersecting at right angles) ordered real hypersheres and one orthogonal imaginary (r2<0) hypersphere maximising E(s and providing a potent, intuitive, and beautiful "covariant conformal eigenstructure" geometric interpretation of the centroid and covariance matrix of a point cloud. The imaginary sphere is a localiser having centre the centroid and squared readius the negative variance.
The best fit (N-2)-spheres (hypercircles) are the ½N(N-1) eigenvectors of 2-blade "inertia" operator P(s) = åi=1M piÙ(pi¿s), but are more readily available as the intersections of the best fit hypershpheres, with best fit (N-3)-spheres being similar provided by intersctions.
The best fit hyperplanes and hyperlines under the GA squared deviation can also be cast as an eigenproblem.

Referances/Source material for Multivector CAD Applications

Glossary   Contents   Author
Copyright (c) Ian C G Bell 2015, 2016
Web Source: www.iancgbell.clara.net/maths
Latest Edit: 30 Jul 2016. 