Geometric Algebra
and its Application to Computer Graphics

D. Hildenbrand , D. Fontijne, C. Perwass, L. Dorst

Keywords

G.4 [Mathematical Software]: Algorithm design and analysis, Efficiency
I.3.7 [Computer Graphics]: Animation

Motivation

Early in the development of computer graphics it was realized that projective geometry is very well suitable to represent points and transformations. Now we can realize that another change of paradigm is lying ahead of us. It is based on the so-called Geometric Algebra.

Maybe you already use quaternions or lie algebra in additon to the well-known vector algebra. You may ask "Why should I use another mathematical system ?".

We will emphasize in this half day tutorial that Geometric Algebra

  • is a unified language for a lot of mathematical systems used in Computer Graphics
  • can be used in an easy and geometrically intuitive way in Computer Graphics.

We will focus on the (5D) Conformal Geometric Algebra. It is an extention of the 4D projective geometric algebra. E.g. spheres and circles are simply represented by algebraic objects. To represent a circle you only have to take two spheres ( or a sphere and a plane ) and to intersect them with help of the meet operation. E.g. the inverse kinematics of a robot can be computed in an easy way.

Only with help of this kind of geometric intuitve operations you are able to compute the joint angles of a robot in order to reach its goal location.

Overview

In this tutorial we will give an overview of Geometric Algebra and its application to computer graphics. First of all, we want to motivate the topic and give insights into some applications.

In particular, the Conformal Geometric Algebra with its so-called 'conformal model' of 3-dimensional Euclidean geometry will be introduced. In this model, Euclidean objects and their interactions will be explored and visualized interactively.

With help of the conformal model we will describe animations and motions. It will be shown how it can be used quite advantageously to treat this kind of computer graphics applications. We will give some basic visual examples and describe rigid body motions and their interpolations. We will focus on the inverse kinematics and dynamics of kinematic chains in order to describe motions of robots and human figures.

At the university of Amsterdam a ray tracer was developed in order to compare different geometric approaches from the implementation and performance point of view. Compared to linear algebra, the richer mathematical language of GA leads to more work for implementing the algebra, but less work for implementing the application. We discuss the issues in implementing a numerical geometric algebra package for a language like C++. We compare various existing implementations and look at their performance. We conclude with future implementation methods like SIMD hardware suitable for GA and generative programming.

During the tutorial only the most fundamental mathematical aspects of Geometric Algebra will be presented. This is possible, since most aspects of Geometric Algebra can be understood with geometric intuition. The actual mathematical 'inner workings' of the algebra will be detailed in an accompanying script that also contains many visual examples from the presentations.

The tutorial will be rounded off by an outlook into possible future applications of Geometric Algebra in computer graphics.

Agenda :

Motivation

  • some nice properties of GA ( Dietmar Hildenbrand )
  • some applications ( Computer Vision, Animation, RayTracer )

Conformal model Tutorial ( Daniel Fontijne )

  • Spanning rounds and flats from points
  • Dualization, intersection
  • The blades of the conformal model
  • Language: orthogonal specification
  • Towards versors: objects as operators

Introduction to the mathematical foundations ( Christian Perwass )

  • main characteristics of the algebra
  • how the algebra represents geometry
  • algebraic operations for reflection, rotation, intersection and inversion
  • why the conformal model works

Animation and Motion ( Dietmar Hildenbrand )

  • basic visual samples
  • rigid body motion
  • interpolation of motions
  • ( forward and inverse ) kinematics
  • dynamics

Implementation and Performance ( Daniel Fontijne )

  • issues in implementing geometric algebra
  • pros, cons, performance of various implementations
  • future directions: hardware, generative programming

Summary and Future Prospects ( Dietmar Hildenbrand )

Biographies :

Daniel Fontijne

Intelligent Autonomous Systems Informatics
Institute Faculty of Sciences
University of Amsterdam
Amsterdam, The Netherlands
email: fontijne@science.uva.nl
Phone : 31-20-525 7511
Fax : 31-20-525 7490

Daniel Fontijne is a scientific programmer and PhD student at the University of Amsterdam. His main goal is to integrate geometric algebra into various programming environments and languages in ways that are both efficient and usable. He has earned an MSc with distinction in Artificial Intelligence. Previously, he presented a course on geometric algebra at the Game Developers Conference 2003 and published a tutorial on geometric algebra in IEEE Computer Graphics and Applications.

Dietmar Hildenbrand

University of Technology Darmstadt, Germany
Fraunhoferstr. 5
64283 Darmstadt
email:dietmar.hildenbrand@gris.informatik.tu-darmstadt.de
Phone: +49 6151 155 667
Fax: +49 6151 155 669
URL:http://www.dgm.informatik.tu-darmstadt.de/staff/dietmar

Dietmar Hildenbrand is a researcher and PhD student with the Interactive Graphics Systems group in Darmstadt, Germany. He holds a Masters degree in Computer Science. His main research interest lies in describing animations with the help of Geometric Algebra. He prepared a tutorial on Geometric Algebra together with C. Perwass for the DAGM 2003 conference.

Dr. Christian Perwass,

university of Kiel, Germany
Institut fuer Informatik,
Olshausenstr. 40,
24098 Kiel, Germany
email: christian@perwass.de
Tel.: +49 431 880-7548,
Fax: +49 431 880-7550,
URL : www.perwass.de

Christian Perwass is a post-doctoral researcher and assistant teacher at the Cognitive Systems Group of the University of Kiel, Germany. His main research interest lies in the application of Geometric Algebra to Computer Vision and related fields. He holds a MSci degree in Physics and a PhD in applications of Geometric Algebra in Computer Vision.

He regularly gives a course on Geometric Algebra at the University of Kiel, and has presented a tutorial on Geometric Algebra together with D. Hildenbrand at the DAGM 2003 conference. He recently published an award-winning paper on the application of Geometric Algebra in artificial neural networks and is the author of a visualization and teaching software program for Geometric Algebra.

Leo Dorst

Intelligent Autonomous Systems
Informatics Institute
Faculty of Sciences University of Amsterdam
Amsterdam, The Netherlands
email: leo@science.uva.nl
Phone : 31-20-525 7511
Fax : 31-20-525 7490

Leo Dorst is an assistant professor at the Informatics Institute of the University of Amsterdam. His research interests include geometric algebra and its applications to computer science. He has an MSc and PhD in the applied physics of computer vision.

Previously he presented lectures at various specialist conferences on geometric algebra and co-presented geometric algebra courses at SIGGRAPH 2000 and 2001. He recently co-published three tutorials on geometric algebra in IEEE Computer Graphics and Applications.