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