16
Adv. Appl. Clifford Algebras (2018) 28:35 c 2018 Springer International Publishing AG, part of Springer Nature https://doi.org/10.1007/s00006-018-0851-1 Advances in Applied Clifford Algebras Quadric Conformal Geometric Algebra of R 9,6 St´ ephane Breuils , Vincent Nozick, Akihiro Sugimoto and Eckhard Hitzer Abstract. Geometric Algebra can be understood as a set of tools to represent, construct and transform geometric objects. Some Geometric Algebras like the well-studied Conformal Geometric Algebra constructs lines, circles, planes, and spheres from control points just by using the outer product. There exist some Geometric Algebras to handle more complex objects such as quadric surfaces; however in this case, none of them is known to build quadric surfaces from control points. This paper presents a novel Geometric Algebra framework, the Geometric Algebra of R 9,6 , to deal with quadric surfaces where an arbitrary quadric surface is constructed by the mere wedge of nine points. The proposed framework enables us not only to intuitively represent quadric surfaces but also to construct objects using Conformal Geometric Algebra. Our proposed framework also provides the computation of the intersection of quadric surfaces, the normal vector, and the tangent plane of a quadric surface. Mathematics Subject Classification. Primary 99Z99, Secondary 00A00. Keywords. Quadrics, Geometric algebra, Conformal geometric algebra, Clifford algebra. 1. Introduction Geometric Algebra provides useful and, more importantly, intuitively under- standable tools to represent, construct and manipulate geometric objects. Intensively explored by physicists, Geometric Algebra has been applied in quantum mechanics and electromagnetism [3]. Geometric Algebra has also found some interesting applications in data manipulation for Geographic Information Systems (GIS) [13]. More recently, it turns out that Geometric Algebra can be applied even in computer graphics, either to basic geometric Corresponding author. 0123456789().: V,-vol

Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Adv. Appl. Clifford Algebras (2018) 28:35 c© 2018 Springer International Publishing AG,part of Springer Naturehttps://doi.org/10.1007/s00006-018-0851-1

Advances inApplied Clifford Algebras

Quadric Conformal Geometric Algebraof R9,6

Stephane Breuils∗ , Vincent Nozick, Akihiro Sugimoto andEckhard Hitzer

Abstract. Geometric Algebra can be understood as a set of tools torepresent, construct and transform geometric objects. Some GeometricAlgebras like the well-studied Conformal Geometric Algebra constructslines, circles, planes, and spheres from control points just by using theouter product. There exist some Geometric Algebras to handle morecomplex objects such as quadric surfaces; however in this case, noneof them is known to build quadric surfaces from control points. Thispaper presents a novel Geometric Algebra framework, the GeometricAlgebra of R9,6, to deal with quadric surfaces where an arbitrary quadricsurface is constructed by the mere wedge of nine points. The proposedframework enables us not only to intuitively represent quadric surfacesbut also to construct objects using Conformal Geometric Algebra. Ourproposed framework also provides the computation of the intersection ofquadric surfaces, the normal vector, and the tangent plane of a quadricsurface.

Mathematics Subject Classification. Primary 99Z99, Secondary 00A00.

Keywords. Quadrics, Geometric algebra, Conformal geometric algebra,Clifford algebra.

1. Introduction

Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric objects.Intensively explored by physicists, Geometric Algebra has been applied inquantum mechanics and electromagnetism [3]. Geometric Algebra has alsofound some interesting applications in data manipulation for GeographicInformation Systems (GIS) [13]. More recently, it turns out that GeometricAlgebra can be applied even in computer graphics, either to basic geometric

∗Corresponding author.

0123456789().: V,-vol

Page 2: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 2 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

primitive manipulations [17] or to more complex illumination processes as in[14] where spherical harmonics are substituted by Geometric Algebra entities.

This paper presents a Geometric Algebra framework to handle quadricsurfaces which can be applied to detect collision in computer graphics, and tocalibrate omnidirectional cameras, usually embedding a mirror with a quadricsurface, in computer vision. Handling quadric surfaces in Geometric Algebrarequires a high dimensional space to work as seen in subsequent sections. Nev-ertheless, no low-dimensional Geometric Algebra framework is yet introducedthat handles general orientation quadric surfaces and their construction usingcontrol points.

1.1. High Dimensional Geometric Algebras

Following Conformal Geometric Algebra (CGA) and its well-defined proper-ties [5], the Geometric Algebra community recently started to explore newframeworks that work in higher dimensional spaces. The motivation for thisdirection is to increase the dimension of the relevant Euclidean space (Rn

with n > 3) and/or to investigate more complex geometric objects.The Geometric Algebra of Rp,q is denoted by Gp,q where p is the number

of basis vectors squared to +1 and q is that of basis vectors squared to −1.Then, the CGA of R3 is denoted by G4,1. Extending from dimension 5 to 6leads to G3,3 defining either 3D projective geometry (see Dorst [4]) or linegeometry (see Klawitter [12]). Conics in R

2 are represented by the conicspace of Perwass [16] with G5,3. Conics in R

2 are also defined by the DoubleConformal Geometric Algebra (DCGA) with G6,2 introduced by Easter andHitzer [8]. DCGA is extended to handle cubic curves (and some other evenhigher order curves) in the Triple Conformal Geometric Algebra with G9,3 [7]and in the Double Conformal space–time Algebra with G4,8 [6]. We note thatthe dimension of the algebras generated by any n-dimensional vector spaces(n = p + q) grows exponentially as they have 2n basis elements. Althoughmost multivectors are extremely sparse, very few implementations exist thatcan handle high dimensional Geometric Algebras. This problem is discussedfurther in Sect. 7.2.

1.2. Geometric Algebra and Quadric Surfaces

A framework to handle quadric surfaces was introduced by Zamora [18] for thefirst time. Though this framework constructs a quadric surface from controlpoints, it supports only axis-aligned quadric surfaces.

There exist two main Geometric Algebra frameworks to manipulate gen-eral quadric surfaces.

On one hand, DCGA with G8,2, defined by Easter and Hitzer [8], con-structs quadric and more general surfaces from their implicit equation coeffi-cients specified by the user. A quadric (torus, Dupin- or Darboux cyclide) isrepresented by a bivector containing 15 coefficients that are required to con-struct the implicit equation of the surface. This framework preserves manyproperties of CGA and thus supports not only object transformations usingversors but also differential operators. However, it is incapable of handling

Page 3: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 3 of 16 35

the intersection between two general quadrics and, to our best knowledge,cannot directly construct general quadric surfaces from control points.

On the other hand, quadric surfaces are also represented in a frameworkof G4,4 as first introduced by Parkin [15] and developed further by Du et al.[10]. Since this framework is based on a duplication of the projective geometryof R

3, it is referred to as Double Perspective Geometric Algebra (DPGA)hereafter. DPGA represents quadric surfaces by bivector entities. The quadricexpression, however, comes from a so-called “sandwiching” duplication ofthe product. DPGA handles quadric intersection and conics. It also handlesversors transformations. However, to our best knowledge, it cannot constructgeneral quadric surfaces from control points. This incapability seems truebecause, for example, wedging 9 control points together in this space resultsin 0 due to its vector space dimension of 8.

1.3. Contributions

Our proposed framework, referred to as Quadric Conformal Geometric Alge-bra (QCGA) hereafter, is a new type of CGA, specifically dedicated to quadricsurfaces. Through generalizing the conic construction in R

2 by Perwass [16],QCGA is capable of constructing quadric surfaces using either control pointsor implicit equations. Moreover, QCGA can compute the intersection ofquadric surfaces, the surface tangent, and normal vectors for a quadric surfacepoint.

1.4. Notation

We use the following notation throughout the paper. Lower-case bold lettersdenote basis blades and multivectors (multivector a). Italic lower-case lettersrefer to multivector components (a1, x, y2, · · · ). For example, ai is the ith

coordinate of the multivector a. Constant scalars are denoted using lower-case default text font (constant radius r). The superscript star used in x∗

represents the dualization of the multivector x. Finally, subscript ε on xε

refers to the Euclidean vector associated with the point x of QCGA.Note that in geometric algebra, the inner product, contractions and

outer product have priority over the full geometric product. For instance,a ∧ bI = (a ∧ b)I.

2. QCGA Definition

This section introduces QCGA. We specify its basis vectors and give thedefinition of a point.

2.1. QCGA Basis and Metric

The QCGA G9,6 is defined over a 15-dimensional vector space. The basevectors of the space R

9,6 are basically divided into three groups: {e1, e2, e3}(corresponding to the Euclidean vectors in R

3), {eo1, eo2, eo3, eo4, eo5, eo6},and {e∞1, e∞2, e∞3, e∞4, e∞5, e∞6}. The inner products between them areas defined in Table 1.

Page 4: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 4 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

Table 1. Inner product between QCGA basis vectors

e1 e2 e3 eo1 e∞1 eo2 e∞2 eo3 e∞3 eo4 e∞4 eo5 e∞5 eo6 e∞6

e1 1 0 0 · · · · · · · · · · · ·e2 0 1 0 · · · · · · · · · · · ·e3 0 0 1 · · · · · · · · · · · ·eo1 · · · 0 − 1 · · · · · · · · · ·e∞1 · · · − 1 0 · · · · · · · · · ·eo2 · · · · · 0 − 1 · · · · · · · ·e∞2 · · · · · − 1 0 · · · · · · · ·eo3 · · · · · · · 0 − 1 · · · · · ·e∞3 · · · · · · · − 1 0 · · · · · ·eo4 · · · · · · · · · 0 − 1 · · · ·e∞4 · · · · · · · · · − 1 0 · · · ·eo5 · · · · · · · · · · · 0 − 1 · ·e∞5 · · · · · · · · · · · − 1 0 · ·eo6 · · · · · · · · · · · · · 0 − 1e∞6 · · · · · · · · · · · · · − 1 0

For some computational constraints, a diagonal metric matrix may berequired. The orthonormal vector basis of R

9,6 with the Euclidean basis{e1, e2, e3}, and 6 basis vectors {e+1, e+2, e+3, e+4, e+5, e+6} each of whichsquares to +1 along with six other basis vectors {e−1, e−2, e−1, e−4, e−5, e−6}each of which squares to −1 corresponds to a diagonal metric matrix. Thetransformation from the basis (with diagonal metric) to the null vector basiscan be defined as follows:

e∞i = e+i + e−i, eoi =12(e−i − e+i), i ∈ {1, · · · , 6}. (2.1)

For clarity, we also define the 6-blades

I∞= e∞1 ∧ e∞2 ∧ e∞3 ∧ e∞4 ∧ e∞5 ∧ e∞6,Io = eo1 ∧ eo2 ∧ eo3 ∧ eo4 ∧ eo5 ∧ eo6,

(2.2)

the 5-bladesI�∞= (e∞1 − e∞2) ∧ (e∞2 − e∞3) ∧ e∞4 ∧ e∞5 ∧ e∞6,I�o = (eo1 − eo2) ∧ (eo2 − eo3) ∧ eo4 ∧ eo5 ∧ eo6,

(2.3)

the pseudo-scalar of R3

Iε = e1 ∧ e2 ∧ e3, (2.4)and the full pseudo-scalar

I = Iε ∧ I∞ ∧ Io. (2.5)

The inverse of the pseudo-scalar results in

I−1 = −I. (2.6)

The dual of a multivector indicates division by the pseudo-scalar, e.g., a∗ =−aI, a = a∗I. From eq. (1.19) in [9], we have the useful duality between outer

Page 5: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 5 of 16 35

and inner products of non-scalar blades a and b in Geometric Algebra:

(a ∧ b)∗ = a · b∗, a ∧ (b∗) = (a · b)∗, a ∧ (bI) = (a · b)I, (2.7)

which indicates that

a ∧ b = 0 ⇔ a · b∗ = 0, a · b = 0 ⇔ a ∧ b∗ = 0. (2.8)

2.2. Point in QCGA

The point x of QCGA corresponding to the Euclidean point xε = xe1+ye2+ze3 ∈ R

3 is defined as:

x = xε + 12 (x2e∞1 + y2e∞2 + z2e∞3)

+xye∞4 + xze∞5 + yze∞6 + eo1 + eo2 + eo3. (2.9)

Note that the null vectors eo4, eo5, eo6 are not present in the definition ofthe point. This is merely to keep the convenient properties of CGA points,namely, the inner product between two points is identical with the squareddistance between them. Let x1 and x2 be two points, their inner product is

x1 · x2 =(x1e1 + y1e2 + z1e3 +

12x2

1e∞1 +12y21e∞2 +

12z21e∞3

+ x1y1e∞4 + x1z1e∞5 + y1z1e∞6 + eo1 + eo2 + eo3

(x2e1 + y2e2 + z2e3 +

12x2

2e∞1 +12y22e∞2 +

12z22e∞3

+ x2y2e∞4 + x2z2e∞5 + y2z2e∞6 + eo1 + eo2 + eo3

).

(2.10)

from which together with Table 1, it follows that:

x1 · x2 =(x1x2 + y1y2 + z1z2 − 1

2x2

1 − 12x2

2 − 12y21 − 1

2y22 − 1

2z21 − 1

2z22

)

= −12

‖x1ε − x2ε‖2.

(2.11)

We see that the inner product is equivalent to minus half the squaredEuclidean distance between x1 and x2.

3. QCGA Objects

QCGA is an extension of CGA, thus the objects defined in CGA are alsodefined in QCGA. The following sections explore the plane, the line, andthe sphere to show their definitions in QCGA, and similarity between theseobjects in CGA and their counterparts in QCGA.

3.1. Plane

3.1.1. Primal Plane. As in CGA, a plane π in QCGA is computed using thewedge of three linearly independent points x1, x2, and x3 on the plane:

π = x1 ∧ x2 ∧ x3 ∧ I∞ ∧ I�o . (3.1)

The multivector π corresponds to the primal form of a plane in QCGA, withgrade 14, composed of six components. The eo2o3, eo1o3, eo1o2 components

Page 6: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 6 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

have the same coefficient and can thus be factorized, resulting in a formdefined with only four coefficients xn, yn, zn and h:

π =(xne23 − yne13 + zne12

)I∞ ∧ Io

+h3e123I∞ ∧

(eo2o3 − eo1o3 + eo1o2

)∧ eo4o5o6. (3.2)

Proposition 3.1. A point x with Euclidean coordinates xε lies on the plane πiff x ∧ π = 0.

Proof.

x ∧ π =(xe1 + ye2 + ze3 +

12x2e∞1 +

12y2e∞2 +

12z2e∞3

+xye∞4 + xze∞5 + yze∞6 + eo1 + eo2 + eo3

)

∧((xne23 − yne13 + zne12)I∞ ∧ Io

+h3e123I∞ ∧ (eo2o3 − eo1o3 + eo1o2) ∧ eo4o5o6

). (3.3)

Using distributivity and anticommutativity of the outer product, we obtain:

x ∧ π =(xxn + yyn + zzn − 1

3h(1 + 1 + 1)

)I

=(xxn + yyn + zzn − h

)I

= (xε · nε − h) I,

(3.4)

which corresponds to the Hessian form of the plane with Euclidean normalnε = xne1 +yne2 +zne3 and with orthogonal distance h from the origin. �3.1.2. Dual Plane. The dualization of the primal form of the plane is:

π∗ = nε +13h(e∞1 + e∞2 + e∞3). (3.5)

Proposition 3.2. A point x with Euclidean vector part xε lies on the dualplane π∗ iff x · π∗ = 0.

Proof. Consequence of (2.8). �Because of (2.11), a plane can also be obtained as the bisection plane

of two points x1 and x2 in a similar way as in CGA.

Proposition 3.3. The dual plane π∗ = x1 −x2 is the dual orthogonal bisectingplane between the points x1 and x2.

Proof. From Proposition 3.2, every point x on π∗ satisfies x · π∗ = 0,

x · (x1 − x2) = x · x1 − x · x2 = 0. (3.6)

As seen in (2.11), the inner product between two points results in the squaredEuclidean distance between the two points. We thus have,

x · (x1 − x2) = 0 ⇔ ‖xε − x1ε‖2 = ‖xε − x2ε‖2. (3.7)

This corresponds to the equation of the orthogonal bisecting dual planebetween x1ε and x2ε. �

Page 7: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 7 of 16 35

3.2. Line

3.2.1. Primal Line. A primal line l is a 13-vector constructed from twolinearly independent points x1 and x2 as follows:

l = x1 ∧ x2 ∧ I∞ ∧ I�o . (3.8)

The outer product between the 6-vector I∞ and the two points x1 and x2

removes all their e∞i components (i ∈ {1, · · · , 6}). Accordingly, they can bereduced to x1 = (eo1 + eo2 + eo3 + xε1) and x2 = (eo1 + eo2 + eo3 + xε2)respectively. For clarity, (3.8) is simplified “in advance” as:

l = x1 ∧ (eo1 + eo2 + eo3 + xε2) ∧ I∞∧ (eo1 − eo2) ∧ (eo2 − eo3) ∧ eo4o5o6

= x1 ∧ (xε2 ∧ (eo1 − eo2) ∧ (eo2 − eo3)

+ 3eo1 ∧ eo2 ∧ eo3) ∧ I∞ ∧ eo4o5o6

=(3eo1 ∧ eo2 ∧ eo3 ∧ (xε2 − xε1)

+ xε1 ∧ xε2 ∧ (eo1 − eo2) ∧ (eo2 − eo3))

∧ I∞ ∧ eo4o5o6.

(3.9)

Setting uε = xε2 − xε1 and vε = xε1 ∧ xε2 gives:

l =(3eo1 ∧ eo2 ∧ eo3 ∧ uε + vε ∧ (eo1o2 − eo1o3 + eo2o3)

)

∧ I∞ ∧ eo4o5o6

= −3uε I∞ ∧ Io + vε I∞ ∧ I�o .

(3.10)

Note that uε and vε correspond to the 6 Plucker coefficients of a line in R3.

More precisely, uε is the support vector of the line and vε is its momentbivector.

Proposition 3.4. A point x with Euclidean vector part xε lies on the line l iffx ∧ l = 0.

Proof.

x ∧ l = (xε + eo1 + eo2 + eo3)

∧ (−3uε I∞ ∧ Io + vε I∞ ∧ I�o )

= −3xε ∧ uε I∞ ∧ Io + xε ∧ vε I∞ ∧ I�o

+ vε I∞ ∧ ((eo1 + eo2 + eo3) ∧ I�

o

)

= −3(xε ∧ uε − vε) I∞ ∧ Io + xε ∧ vε I∞ ∧ I�o .

(3.11)

The 6-blade I∞ ∧Io and the 5-blade I∞ ∧I�o are linearly independent. There-

fore, x ∧ l = 0 yields

x ∧ l = 0 ⇔{xε ∧ uε= vε,xε ∧ vε= 0.

(3.12)

As xε,uε and vε are Euclidean entities, (3.12) corresponds to the Pluckerequations of a line [11]. �

Page 8: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 8 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

3.2.2. Dual Line. Dualizing the entity l consists in computing with duals:

l∗ = (−3uε I∞ ∧ Io + vε I∞ ∧ I�o )(−I)

= 3uε Iε + (e∞3 + e∞2 + e∞1) ∧ vε Iε.(3.13)

Proposition 3.5. A point x lies on the dual line l∗ iff x · l∗ = 0.

Proof. Consequence of (2.8). �

Note that a dual line l∗ can also be constructed from the intersectionof two dual planes as follows:

l∗ = π∗1 ∧ π∗

2. (3.14)

3.3. Sphere

3.3.1. Primal Sphere. We define a sphere s using four points as the 14-blade

s = x1 ∧ x2 ∧ x3 ∧ x4 ∧ I�∞ ∧ I�

o . (3.15)

The outer product of the points with I�∞ removes all e∞4, e∞5, e∞6 compo-

nents of these points, i.e., the cross terms (xy, xz, and yz). The same remarkholds for I�

o and eo4, eo5, eo6. For clarity, we omit these terms below. We thushave,

s = x1 ∧ x2 ∧ x3 ∧(1

2(x2

4e∞1 + y24e∞2 + z2

4e∞3)I�∞

∧I�o − 3I�

∞ ∧ Io + x4εI�∞ ∧ I�

o

). (3.16)

Note the similarities with a CGA point x4ε + eo + 12 ‖x4ε‖2 e∞. Then, the

explicit outer product with x3 gives:

s = x1 ∧ x2 ∧ (x3ε ∧ x4εI�o ∧ I�

∞ + 3(x3ε − x4ε)Io ∧ I�∞

+12

‖x4ε‖2 x3εI∞ ∧ I�o − 1

2‖x3ε‖2 x4εI∞ ∧ I�

o

+32(‖x4ε‖2 − ‖x3ε‖2)Io ∧ I∞. (3.17)

Again we remark that the resulting entity has striking similarities with apoint pair of CGA. More precisely, let cε be the Euclidean midpoint betweenthe two entities x3 and x4, dε be the unit vector from x3 to x4, and r be halfof the Euclidean distance between the two points in exactly the same wayas Hitzer et al in [9], namely:

2r = |x3ε − x4ε| , dε =x3ε − x4ε

2r, cε =

x3ε + x4ε

2. (3.18)

Then, (3.17) can be rewritten by:

s = x1 ∧ x2

∧2r(dε ∧ cε I�

o ∧ I�∞

+3dε Io ∧ I�∞ +

12((c2

ε + r2)dε − 2cεcε · dε

)I∞ ∧ I�

o

). (3.19)

Page 9: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 9 of 16 35

The bottom part corresponds to a point pair, as defined in [9], that belongsto the round object family. Applying the same development to the two pointsx1 and x2 again results in round objects:

s = −16

(‖xcε‖2 − r2

)Iε ∧ I∞ ∧ I�

o

+e123 ∧ I�∞ ∧ Io + (xcεIε) ∧ I∞ ∧ Io. (3.20)

Note that xcε corresponds to the center point of the sphere and r to its radius.It can be further simplified into

s =(x′

c − 16r2(e∞1 + e∞2 + e∞3)

)I, (3.21)

which is dualized to

s∗ = x′c − 1

6r2(e∞1 + e∞2 + e∞3), (3.22)

where x′c corresponds to xc without the cross terms xy, xz, yz. Since a QCGA

point has no eo4, eo5, eo6 components, building a sphere with these cross termsis also valid. However, inserting these cross terms (that actually do not appearin the primal form) raises some issues in computing intersections with otherobjects.

Proposition 3.6. A point x lies on the sphere s iff x ∧ s = 0.

Proof. Since the components e∞4, e∞5 and e∞6 of x are removed by theouter product with s of (3.17), we ignore them to obtain

x ∧ s = x ∧ (s∗I) = x · s∗ I (3.23)

=(xε + eo1 + eo2 + eo3 +

12x2e∞1 +

12y2e∞2 +

12z2e∞3

)

·(x′c − 1

6r2(e∞1 + e∞2 + e∞3)

)I, (3.24)

which can be rewritten by:

x ∧ s =(

xxc + yyc + zzc −(1

2x2

c − 16r2

)

−(1

2y2

c − 16r2

)−

(12z2c − 1

6r2

)

− 12x2 − 1

2y2 − 1

2z2

)I = 0.

(3.25)

This can take a more compact form defining a sphere

(x − xc)2 + (y − yc)2 + (z − zc)2 = r2. (3.26)

�3.3.2. Dual Sphere. The dualization of the primal sphere s gives:

s∗ = x′c − 1

6r2(e∞1 + e∞2 + e∞3). (3.27)

Proposition 3.7. A point x lies on the dual sphere s∗ iff x · s∗ = 0.

Proof. Consequence of (2.8). �

Page 10: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 10 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

4. Quadric Surfaces

This section describes how QCGA handles quadric surfaces. All QCGAobjects defined in Sect. 3 become thus part of a more general framework.

4.1. Primal Quadric Surfaces

The implicit formula of a quadric surface in R3 is

F (x, y, z) = ax2+by2+cz2+dxy+exz+fyz+gx+hy+iz+j = 0. (4.1)

A quadric surface is constructed by wedging 9 points together with 5 nullbasis vectors as follows:

q = x1 ∧ x2 ∧ · · · ∧ x9 ∧ I�o . (4.2)

The multivector q corresponds to the primal form of a quadric surface withgrade 14 and 12 components. Again 3 of these components have the samecoefficient and can be combined together into the form defined by 10 coeffi-cients a, b, . . . , j, as in

q = e123

((2aeo1 + 2beo2 + 2ceo3 + deo4 + eeo5 + feo6

) · I∞

)∧ Io

+(ge1 + he2 + ie3

)e123 I∞ ∧ Io

+j3e123 I∞ ∧ (

(e∞1 + e∞2 + e∞3) · Io

)

=(

− (2aeo1 + 2beo2 + 2ceo3 + deo4 + eeo5 + feo6

)

+(ge1 + he2 + ie3

) − j3(e∞1 + e∞2 + e∞3

))I = q∗I,

(4.3)

where in the second equality we used the duality property. The expressionfor the dual quadric vector is therefore,

q∗ = −(2aeo1 + 2beo2 + 2ceo3 + deo4 + eeo5 + feo6

)

+(ge1 + he2 + ie3

) − j3(e∞1 + e∞2 + e∞3).

(4.4)

Proposition 4.1. A point x lies on the quadric surface q iff x ∧ q = 0.

Proof.

x ∧ q = x ∧ (q∗I) = (x · q∗)I

=(x ·

(− (

2aeo1 + 2beo2 + 2ceo3 + deo4 + eeo5 + feo6

)

+(ge1 + he2 + ie3

) − j3(e∞1 + e∞2 + e∞3)

))I

=(ax2 + by2 + cz2 + dxy + exz + fyz + gx + hy + iz + j

)I.

(4.5)

This corresponds to the formula (4.1) representing a general quadric surface.�

Page 11: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 11 of 16 35

4.2. Dual Quadric Surfaces

The dualization of a primal quadric surface leads to the 1-vector dual quadricsurface q∗ of (4.4). We have the following proposition whose proof is a con-sequence of (2.8).

Proposition 4.2. A point x lies on the dual quadric surface q∗ iff x · q∗ = 0.

5. Normals and Tangents

This section presents the computation of the normal Euclidean vector nε

and the tangent plane π∗ of a point x (associated to the Euclidean pointxε = xe1 + ye2 + ye3) on a dual quadric surface q∗. The implicit formula ofthe dual quadric surface is considered as the following scalar field:

F (x, y, z) = x · q∗. (5.1)

The normal vector nε of a point x is computed as the gradient of the implicitsurface (scalar field) at x:

nε = ∇F (x, y, z) =∂F (x, y, z)

∂xe1 +

∂F (x, y, z)∂y

e2 +∂F (x, y, z)

∂ze3. (5.2)

Since the partial derivative with respect to the x component is defined by:∂F (x, y, z)

∂x= lim

h�→0

F (x + h, y, z) − F (x, y, z)h

, (5.3)

we have,∂F (x, y, z)

∂x= lim

h�→0

x2 · q∗ − x · q∗

h=

(limh�→0

x2 − xh

)· q∗, (5.4)

where x2 is the point obtained by translating x along the x-axis by thevalue h. Note that x2 − x represents the dual orthogonal bisecting planespanned by x2 and x (see Proposition 3.3). Accordingly, we have

limh�→0

x2 − xh

= xe∞1 + ye∞4 + ze∞5 + e1

= (x · e1)e∞1 + (x · e2)e∞4 + (x · e3)e∞5 + e1.(5.5)

This argument can also be applied to the partial derivative with respect tothe y and z components. Therefore, we obtain:

nε =((

(x · e1)e∞1 + (x · e2)e∞4 + (x · e3)e∞5 + e1

) · q∗)e1

+((

(x · e2)e∞2 + (x · e1)e∞4 + (x · e3)e∞6 + e2

) · q∗)e2

+((

(x · e3)e∞3 + (x · e1)e∞5 + (x · e2)e∞6 + e3

) · q∗)e3.

(5.6)

On the other hand, the tangent plane at a surface point x can be com-puted from the Euclidean normal vector nε and the point x. Since the planeorthogonal distance from the origin is

√−2(eo1 + eo3 + eo3) · x, the tangentplane π∗ is obtained as:

π∗ = nε +13(e∞1 + e∞2 + e∞3

)√−2(eo1 + eo3 + eo3) · x. (5.7)

Page 12: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 12 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

6. Intersections

Let us consider two geometric objects corresponding to dual quadrics1 a∗

and b∗. Assuming that the two objects are linearly independent, i.e., a∗ andb∗ are linearly independent, we consider the outer product c∗ of these twoobjects

c∗ = a∗ ∧ b∗. (6.1)

If a point x lies on c∗, then

x · c∗ = x · (a∗ ∧ b∗) = 0. (6.2)

The inner product computation of (6.2) leads to

x · c∗ = (x · a∗)b∗ − (x · b∗)a∗ = 0. (6.3)

Our assumption of linear independence between a∗ and b∗ indicates that(6.3) holds if and only if x · a∗ = 0 and x · b∗ = 0, i.e. the point x lies onboth quadrics. Thus, c∗ = a∗ ∧ b∗ represents the intersection of the linearlyindependent quadrics a∗ and b∗, and a point x lies on this intersection if andonly if x · c∗ = 0.

6.1. Quadric-Line Intersection

For example, in computer graphics, making a Geometric Algebra compatiblewith a raytracer requires only to be able to compute a surface normal and aline-object intersection. This section defines the line-quadric intersection.

Similarly to (6.1), the intersection x± between a dual line l∗ and adual quadric q∗ is computed by l∗ ∧ q∗. Any point x lying on the line ldefined by two points x1 and x2 can be represented by the parametric formulaxε = α(x1ε − x2ε) + x2ε = αuε + x2ε. Note that uε could also be computeddirectly from the dual line l∗ (see (3.13)). Any point x2 ∈ l can be used,especially the closest point of l from the origin, i.e. x2ε = vε·u−1

ε . Accordingly,computing the intersection between the dual line l∗ and the dual quadric q∗

becomes equivalent to finding α such that x lies on the dual quadric, i.e.,x ·q∗ = 0, leading to a second degree equation in α, as shown in (4.1). In thissituation, the problem is reduced to computing the roots of this equation.However, we have to consider four cases: the case where the line is tangent tothe quadric, the case where the intersection is empty, the case where the lineintersects the quadric in two points, and the case where one of the two pointsexists at infinity. To identify each case, we use the discriminant δ defined as:

δ = β2 − 4(x2ε · q∗)6∑

i=1

(u · eoi)(q∗ · e∞i), (6.4)

1The term “quadric” (without being followed by surface) encompasses quadric surfacesand conic sections.

Page 13: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 13 of 16 35

Table 2. Comparison of properties between DPGA,DCGA, and QCGA

Framework DPGA [10] DCGA [8] QCGA

Vector space dimensions 8 10 15Construction from wedge of points ◦ ◦ •Quadrics intersection ◦ ◦ •Quadric plane intersection • • •Versors • • �Darboux cyclides ◦ • ◦The symbol • stands for “capable”, ◦ for “incapable” and � for “unknown”

where,

β = 2u · (a(x2ε · e1)e1 + b(x2ε · e2)e2 + c(x2ε · e3)e3)

+ d((u ∧ e1) · (x2ε ∧ e2) + (x2ε ∧ e1) · (u ∧ e2)

)

+ e((u ∧ e1) · (x2ε ∧ e3) + (x2ε ∧ e1) · (u ∧ e3)

)

+ f((u ∧ e2) · (x2ε ∧ e3) + (x2ε ∧ e2) · (u ∧ e3)

)+ q∗ · uε.

(6.5)

If δ < 0, the line does not intersect the quadric (the solutions are complex).If δ = 0, the line and the quadric are tangent. If δ > 0 and

∑6i=1(u · eoi)(q∗ ·

e∞i) = 0, we have only one intersection point (linear equation). Otherwise,we have two different intersection points x± computed by:

x± = u(−β ±√

δ)/(2

6∑i=1

(u · eoi)(q∗ · e∞i))

+ x2ε. (6.6)

7. Discussion

7.1. Limitations

The construction of quadric surfaces by the wedge of conformal points pre-sented in Sects. 3 and 4 is a distinguished property of QCGA that is missingin DPGA and DCGA. However, QCGA also faces some limitations that donot affect DPGA and DCGA, as summarized in Table 2.

First, DPGA and DCGA are known to be capable of transforming allobjects by versors [8,10] whereas it is not yet clear whether objects in QCGAcan be transformed using versors. An extended version of CGA versors canbe used to transform lines in QCGA (and probably all round and flat objectsof CGA), but more investigation is needed. Second, the number of basis ele-ments spanned by QCGA is 215( 32, 000) components for a full multivector.Although multivectors of QCGA are in reality almost always very sparse, thislarge number of elements may cause implementation issues (see Sect. 7.2). Italso requires some numerical care in computation, especially during the wedgeof 9 points. This is because some components are likely to be multiplied atthe power of 9.

Page 14: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 14 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

Figure 1. Example of our construction of QCGA objects.From left to right: a dual hyperboloid built from its equa-tion, an ellipsoid built from its control points (in yellow), theintersection between two cylinders, and a hyperboloid withan ellipsoid and planes (the last one was computed with ourray-tracer)

7.2. Implementations

There exist many different implementations of Geometric Algebra, however,very few can handle dimensions higher than 8 or 10. This is because higherdimensions bring a large number of elements of the multivector used, resultingin expensive computation. In many cases, the computation then becomesimpossible in practice. QCGA has a 15 vector space dimension and hencerequires some specific care during the computation.

We conducted our tests with an enhanced version of Breuils et al. [1,2] which is based on a recursive framework. We remark that most of theproducts involved in our tests were the outer products between 14-vectors and1-vectors, applying one of the less time consuming products of QCGA. Indeed,QCGA with vector space dimension of 15 has 215 elements and this number is1,000 times as large as that of elements for CGA with vector space dimensionof 5 (CGA with vector space dimension of 5 is needed for the equivalentoperations of QCGA with dimension of 15). The computational time requiredfor QCGA, however, did not need 1,000 times but only 70 times of that forCGA. This means that the computation of QCGA runs in reasonable timeon the enhanced version of Breuils et al. [1,2]. More detailed analysis in thisdirection is left for future work. Figure 1 depicts a few examples generatedwith our OpenGL renderer based on the outer product null-space voxels andour ray-tracer.

8. Conclusion

This paper presented a new Geometric Algebra framework, Quadric Confor-mal Geometric Algebra (QCGA), that handles the construction of quadricsurfaces using the implicit equation and/or control points. QCGA naturallyincludes CGA objects and generalizes some dedicated constructions. Theintersection between objects in QCGA is computed using only outer prod-ucts. This paper also detailed the computation of the tangent plane and thenormal vector at a point on a quadric surface. Although QCGA is defined

Page 15: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

Quadric Conformal Geometric Algebra Page 15 of 16 35

in a high dimensional space, most of the computations run in relatively lowdimensional subspaces of this framework. Therefore, QCGA can be used fornumerical computations in applications such as computer graphics.

References

[1] Breuils, S., Nozick, V., Fuchs, L., Hildenbrand, D., Benger, W., Steinmetz,C.: A hybrid approach for computing products of high-dimensional geomet-ric algebras, Proceedings of the Computer Graphics International Conference,ENGAGE (Hiyoshi, Japan), CGI ’17, ACM, 43, 1–6 (2017)

[2] Breuils, S., Nozick, V., Fuchs, L.: A geometric algebra implementation usingbinary tree. Adv. Appl. Clifford Algebras 27(3), 2133–2151 (2017)

[3] Doran, C., Lasenby, A.: Geometric algebra for physicists. Cambridge UniversityPress, Cambridge (2003)

[4] Dorst, L.: 3d oriented projective geometry through versors of R3,3. Adv. Appl.Clifford Algebras 26(4), 1137–1172 (2016)

[5] Dorst, L., Fontijne, D., Mann, S.: Geometric algebra for computer science, anobject-oriented approach to geometry. Morgan Kaufmann, Burlington (2007)

[6] Easter, R.B., Hitzer, E.: Double conformal space-time algebra, AIP ConferenceProceedings, vol. 1798, AIP Publishing, p. 020066 (2017)

[7] Easter, R.B., Hitzer, E.: Triple conformal geometric algebra for cubic planecurves, Math. Methods Appl. Sci. mma.4597 (2017)

[8] Easter, R.B., Hitzer, E.: Double conformal geometric algebra. Adv. Appl. Clif-ford Algebras 27(3), 2175–2199 (2017)

[9] Hitzer, E., Tachibana, K., Buchholz, S., Isseki, Y.: Carrier method for thegeneral evaluation and control of pose, molecular conformation, tracking, andthe like. Adv. Appl. Clifford Algebras 19(2), 339–364 (2009)

[10] Juan, D., Goldman, R., Mann, S.: Modeling 3D geometry in the Clifford Alge-bra R

4,4. Adv. Appl. Clifford Algebras 27(4), 3039–3062 (2017)

[11] Kanatani, K.: Understanding geometric algebra: Hamilton, Grassmann, andClifford for Computer Vision and Graphics. A. K. Peters Ltd, Natick (2015)

[12] Klawitter, D.: A Clifford algebraic approach to line geometry. Adv. Appl. Clif-ford Algebras 24(3), 713–736 (2014)

[13] Luo, W., Yong, H., Zhaoyuan, Y., Yuan, L., Lu, G.: A hierarchical representa-tion and computation scheme of arbitrary-dimensional geometrical primitivesbased on CGA. Adv. Appl. Clifford Algebras 27(3), 1977–1995 (2017)

[14] Papaefthymiou, M., Papagiannakis, G.: Real-time rendering under distant illu-mination with conformal geometric algebra, Math. Methods Appl. Sci. (2017)

[15] Parkin, S.T.: A model for quadric surfaces using geometric algebra, (October2012)

[16] Perwass, C.: Geometric algebra with applications in engineering, Geometryand Computing, vol. 4. Springer, Berlin (2009)

[17] Vince, J.: Geometric algebra for computer graphics. Springer Science & Busi-ness Media, Berlin (2008)

[18] Zamora-Esquivel, J.: G 6,3 geometric algebra; description and implementation.Adv. Appl. Clifford Algebras 24(2), 493–514 (2014)

Page 16: Quadric Conformal Geometric Algebra of · Geometric Algebra provides useful and, more importantly, intuitively under-standable tools to represent, construct and manipulate geometric

35 Page 16 of 16 S. Breuils et al. Adv. Appl. Clifford Algebras

Stephane Breuils and Vincent NozickLaboratoire d’Informatique Gaspard-Monge, Equipe A3SIUMR 8049, Universite Paris-Est Marne-la-ValleeChamps-sur-MarneFrancee-mail: [email protected]

Vincent Nozicke-mail: [email protected]

Vincent NozickCNRS JFLI, UMI 3527, National Institute of InformaticsTokyo 101-8430Japan

Akihiro SugimotoNational Institute of InformaticsTokyo 101-8430Japane-mail: [email protected]

Eckhard HitzerInternational Christian UniversityTokyo 181-8585Japane-mail: [email protected]

Received: February 13, 2018.

Accepted: March 7, 2018.