Computer Graphics and Applications, part 1, 2 and 3.

These three articles appeared in IEEE Computer Graphics and Applications. The pdfs of the articels as they appeared are made available under the usual conditions of IEEE, repsecting their copyright. Click on the title to download the pdf.

Geometric Algebra: a computational framework for geometrical applications (part I: algebra).

Leo Dorst, Stephen Mann
Appeared in CG&A May/June 2002.
Geometric algebra is a consistent computational framework in which to define geometric primitives and their relationships. This algebraic approach contains all geometric operators and permits specification of constructions in a coordinate-free manner. Thus, the ideas of geometric algebra are important for developers of CAD systems. This paper gives an introduction to the elements of geometric algebra, which contains primitives of any dimensionality (rather than just vectors), and an introduction to three of the products of geometric algebra, the geometric product, the inner product, and the outer product. These products are illustrated by using them to solve simple geometric problems.

Geometric Algebra: a computational framework for geometrical applications (part II: applications).

Stephen Mann, Leo Dorst
Appeared in CG&A July/August 2002.
Geometric algebra is a consistent computational framework in which to define geometric primitives and their relationships. This algebraic approach contains all geometric operators and permits coordinate-free specification of computational constructions. It contains primitives of any dimensionality (rather than just vectors). This second paper on the subject uses the basic products to represent rotations (naturally incorporating quaternions), intersections, and differentiation. It shows how using well-chosen geometric algebra models, we can eliminate special cases in incidence relationships, yet still have the efficiency of the Pluecker coordinate intersection computations.

Performance and elegance of five models of 3D Euclidean geometry in a ray tracing application.

Daniel Fontijne, Leo Dorst
Appeared in CG&A March/April 2003.
Computations of 3D Euclidean geometry can be performed using various computational models of different effectiveness. In this paper we compare five alternatives: 3D linear algebra, 3D geometric algebra, a mix of 4D homogeneous coordinates and Pluecker coordinates, a 4D homogeneous model using geometric algebra, and the 5D conformal model using geometric algebra. Higher dimensional models and models using geometric algebra can express geometric primitives, computations and constructions more elegantly, but this elegance may come at a performance penalty.
We explore these issues using the implementation of a simple ray tracer as our practical goal and guide. We show how to implement the most important geometric computations of the ray tracing algorithm using each of the five models and benchmark each implementation.