Hacker News new | ask | show | jobs
by jnfinity 2322 days ago
Your welcome, ivah_ah.

I approached the SIGGRAPH presenters immediately after their talk last year to try to explain that the whole thing could be done without swapping the geometrical meanings of vectors and trivectors. They were very dismissive at the time, but I think they have now accepted the formulation I've introduced leads to exactly the same mathematics with the only differences being in naming and numbering.

I don't see the math as one algebra with the geometric product and a "dual" algebra with the geometric antiproduct. I see it as a single algebra with two products existing simultaneously. It's important to understand that there are lots of symmetries in geometric algebra, and for each one, both sides of the symmetry are equally significant, and the universe doesn't prefer one over the other. The most fundamental symmetry is that each basis element can simultaneously be viewed as containing some "full" dimensions and some "empty" dimensions. In 4D space, you can think of this as a 4-bit quantity where 1 means full and 0 means empty. (These are what the black and white bars represent on my poster.) Four bits means 16 different basis elements can be formed by selecting which dimensions are full. Scalars have no full dimensions, vector basis elements have one full dimension, bivector basis elements have two full dimensions, trivector basis elements have three full dimensions, and antiscalars (which are 4D volume elements or quadrivectors) have all four full dimensions. At the same time, you can view these from the opposite perspective and say that scalars have all four empty dimensions, vectors have three empty dimensions, bivectors have two empty dimensions, trivectors have one empty dimension, and antiscalars have no empty dimensions. The important thing to understand about the relationship between the geometric product and the geometric antiproduct is that the first one performs operations on full dimensions, and the other one performs exactly the same operations on empty dimensions. With regard to the degenerate metric, anything containing a full w-dimension (corresponding to e4 in my work) squares to zero under the geometric product, and anything containing an empty w-dimension squares to zero under the geometric antiproduct.

Since the two approaches (the SIGGRAPH approach and my approach) are both valid and produce the same mathematics, I prefer to stick with the approach that keeps points = 4D vectors, lines = 4D bivectors, and planes = 4D trivectors because we're simply adding one projective dimension to everything. This is an extension of the concept of homogeneous coordinates that has long been established in computer graphics. Here, the dimensionality of a projective geometric object corresponds directly to the grade of the associated element in the algebra, which counts the number of full dimensions. In the SIGGRAPH approach, the dimensionality of a projective geometric object corresponds to the grade subtracted from four, which counts the number of empty dimensions. It's a mirror image. Like I said earlier, the universe doesn't care which approach you use, and to claim that one is a more natural choice than the other is erroneous. The only thing we can do is choose one to be the agreed-upon convention and stick to it in the same sense that everybody agrees to use the right-hand rule for cross products instead of an equally valid left-hand rule.

I'll be giving a talk about all of this at the GDC 2020 Math Summit on March 17.

1 comments

Does your GDC talk have a name yet? I'd like to keep an eye out for it.
It's called "Projective Geometric Algebra and Dual Quaternions", and it's on Tuesday, March 17 at 1:20 pm.

https://schedule.gdconf.com/session/math-in-game-development...

Given GDC is postponed are you planning to wait out and see if it's successfully rescheduled or otherwise? I've been on a bit of a GA binge recently and am especially curious what arguments might be presented for adoption in the context of game development.