Was thinking about how to apply geometric algebra to the discrete laplace-beltrami operator. Also referred to as the cotan laplacian. Cotan, because you build it out of a mess of cotangents between edge angles.

One way to derive the cotan operator is that cot(angle) = width/height of a triangle ( aspect ratio ).

My thought was that we could directly use the ratios of the 1-vectors for the width and height. That’s a rotor.

Since we are discretizing a continuous function on a surface, values on those triangles end up in the same vertex tangent space ( in the limit ). So we can consider them as rotors on in-plane values in the same plane. We don’t need a sandwich operator or half angles, we can directly apply the rotors via geometric product.

To help see how this would work let’s think about a single one-ring neighbourhood of a vertex.

Go around a given vertex in a mesh and consider all the rotor elements generated from the connected triangles. If you applied the sum of those rotors to a given test 1-vector you could see that the difference between the input and output would be the angle deficit at that point. This is a measure of curvature. If the neighbourhood was flat the vector would return to the same spot. With positive curvature it should go past and with negative curvature it would end up short.

So it should be possible to go through the formula for the cotan laplacian, replace all occurences of cot with rotors. Now you have a linear system of equations with multivector coefficients you can use as a Discrete Laplace-Betrami operator.

Has anyone done any work on or seen mention of this in the past? Thoughts on this fine Sunday?