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.
|