biVector forum

Search for bachelor thesis topic: implement non-GA work with GA


I’m a student of a bachelor of Computer Science and I’m currently trying to find a topic for my bachelor thesis on Plane-Based Geometric Algebra (PGA). I’m looking for a paper about an implementation of something involving Euclidean Geometry that doesn’t use Geometric Algebra. This work could, for example, be implemented using Dual Quaternions, Homogeneous Coordinates or Lie Algebra. My goal is to implement this work using PGA and to see if there are any performance differences and why. The paper should have made its source code available. It would be preferable if there is some kind of dataset available for testing.

If anyone has ideas on papers I could use for my bachelor thesis, that would be greatly appreciated.

Hi peterv,

A famous graphics paper “Skinning with Dual Quaternions” can be easily translated to PGA. Code provided by the author can be used for benchmarks. Other topics like Inverse Kinematics, articulated motion a.k.a, skeleton animation can be explored.

A Ray Tracing renderer. A ray tracer was benchmarked in the book “Geometric Algebra for Computer Science”, however the comparison was between Linear Algebra vs CGA vs Homogeneous GA, so PGA was not benchmarked. A related technique to explore is Direct Volume Rendering using Ray Casting.

N-dimensional Delaunay Triangulation, it mostly uses (hyper-)planes, and compute centers and circuncenters of nD simplexes, but does it many many times. I think the author’s code can be found somewhere on the Internet. Convex Hulls and Voronoi diagrams are other similar topics to explore.

Rigid Body Dynamics simulation. You can probably use the latest research from Steven De Keninck and Leo Dorst to port this paper to PGA.

For now that’s what I have.


I am not sure if a GA version could make it much quicker, but I would be very interested (for nice deep learning application) to have an efficient way to compute partial volume in a 3D grid from a surface (triangular meshes)
It is a pure geometric problem, simple at first look but very long to compute

see Surface to 3D partial volume for more detail
I recently find an other implementation from this paper

again the execution time is around 10 mn for a 200^3 grid, which makes it difficult to use for training a deep neural network

I would be glad to collaborate, if you are interested

Hi peterv,

If you are still looking for a topic I have a suggestion:

Back in 2005 Yuanxin Wu published a paper, “StrapDown Inertial Navigation System algorithms based on dual quaternions’.

The paper included a link to a Matlab Simulink implementation and simulation of two SDINS algorithms (‘conventional’ and ‘screw blade’). The link is no longer valid but is available via

In 2012 Dimin Wu published a CGA version of Y. Wu’s ‘screw blade’ algorithm, “Strapdown Navigation Using Geometric Algebra: Screw Blade Algorithm”. There is no CGA implementation provided for the algorithm but the CGA equations of D. Wu’s paper could be easily converted to PGA 3D and your goal is to create an implementation.

Because of the real-time constraint of SDINS these algorithms calculate several angular increments at a higher frequency and then compress them as one pose value in a relative lower frequency. For a good understanding of the need for this multirate approach read a 2017 paper by Xingcheng Li, “A Real-Time Structure of Attitude Algorithm for High Dynamic Bodies”.

Thank you everyone for the suggestions. By now I’ve found a topic for my bachelor thesis. I am going to implement the Klein PGA library in the Ioquake3 game engine. I will certainly keep the suggested topics in mind for possible later PGA projects.