6 ms·
Projective Geometric Algebra Done Right
- mnemonicsloth 7y agoLooks cool. Always wanted to learn something about graphics. Shame there are no examples.
- erichocean 7y agoThe author's books on game programming are really solid if you're interested. (I own both.) He's got a very clean way of presenting what's going on...
- adamnemecek 7y agoCheck out http://bivector.net http://bivector.net, a new community on geometric algebra. Check out the demo https://observablehq.com/@enkimute/animated-orbits https://observablehq.com/@enkimute/animated-orbits Join the discord https://discord.gg/vGY6pPk https://discord.gg/vGY6pPk
- jampekka 7y agoI've been trying to use geometric algebra for some relatively practical math derivations for a while, and the journey has been really frustrating. Almost all documentation is extremely theoretical, and terminology seems to change from document to document. It may be my lack of savvy, but I have a nagging feeling that the reason GA hasn't been picked up is that it actually isn't that great when you're out of the math theoryland. By my understanding the main "practical" branches for 3D Euclidian geometry are the "traditional" projective GA with homogeneous coordinates, which still has all the nastiness of rotation matrices etc, the "other" projective GA which was criticized here for having indeed rather bizarre basics, like a degenerate dimension (unit vector squares to zero) and points being represented as duals of planes or something, and finally there's the 5D conformal GA, which is supposed to not have all this nastiness, but it's hard to find anything resembing practical on it. I hope my hunch is wrong. The traditional linear algebra becomes really cumbersome for many analyses and the sales pitch for GA is very alluring. That said, I do really appreciate the "bizarro" projective GA people actually trying to make it more approachable for non-mathematicians, which seems to be a quite rare thing in maths.
- erichocean 7y ago> finally there's the 5D conformal GA, which is supposed to not have all this nastiness, but it's hard to find anything resembing practical on it Give Versor[0] a try. Implementation is fast, solid, with lots of example code. I'm no math genius, but it makes sense to me. The book Geometric Algebra for Computer Science was also helpful. Pablo (Versor developer) has some nice videos and write-ups on it too. That said, I totally agree that GA in general is WAY too abstract. I don't give a shit about the intricacies of the math, what I care about are access to geometric objects that behave normally, where it takes very little code to go from "this is what I want to do" to "okay, it's doing it." Make me a circle from these three points, then rotate it by this much about this line—that kind of thing. I want the simple stuff to be stupid simple, and so far, Versor has been sufficient. [0] http://versor.mat.ucsb.edu/ http://versor.mat.ucsb.edu/
- jampekka 7y agoThanks for the tip. I'm working with by-hand/symbolic stuff, so Versor may not be exacly the thing for me, but I think I'll learn about CGA a lot better by looking at that implementation than research papers!
- deleted 7y ago[deleted]
- Koshkin 7y agoYou are not wrong. Except I am not sure why anyone would call linear algebra “cumbersome” - it and the geometry of differential forms cover pretty much all the practical needs, leaving geometric algebra outside the mainstream applied mathematics.
- jampekka 7y agoThe "cumbersomeness" for me is mainly the problematic handling of rotations, especially when they're not around the origin. For "numerical" stuff even those are easy enough (given you don't have to do something "fancy" like interpolate), but "symbolic" stuff gets unwieldly really fast.
- ur-whale 7y agoWow, an entire article on projective geometry without a single figure.
- banachtarski 7y agoI disagree with the author's post and will be writing a response
- w0mbat 7y agoI would like to disagree with the author's post, but I couldn't understand a word of it.
- ajkjk 7y agoSome of the literature on the wedge product handles it all under a different set of names. In oriented projective geometry the wedge product is the 'join' operator. The antiwedge mentioned in this article is called the 'meet'. There are some other papers (by Gian Carlo Rota and others) which treat this operation in the exterior algebra directly, which I can find later. The meet operator is dual to the wedge product. Presumably the 'antigeometric product' in this article is along the same lines, but, like the geometric product, much harder to make sense of than the meet itself. I tried for a long time to find a good interpretation of the meet. It roughly corresponds to finding the intersection of two linear subspaces (the wedge product roughly corresponds to their linear span). I personally think the geometric product is the source of all the bafflement, and the real interesting object is the wedge product. I hope to write up a solid argument about this someday but haven't had the wherewithal. (I also suspect the geometric product is usually defined wrong! A product (xy) (x) should be y, not -y, the factors should cancel left to right in both terms. Afaict this simplifies a lot of formulas.)
- JoeCamel 7y agoIt seems the post is a response to SIGGRAPH 2019 course “Geometric Algebra for Computer Graphics” and not a stand-alone introduction to GA. Maybe the title suggests otherwise. That explains why there are no figures. I have a basic knowledge of GA but everything seemed clear. I was confused a little bit by "anti-scalar" which is usually called "pseudo-scalar".
- elengyel 7y agoRight, the post was not intended to be any kind of introduction or tutorial, but rather more of an announcement to those already familiar with the subject that there exists another way of doing the math that doesn't require inverting the dimensionality of points and planes. I will be writing some much longer that introduces the material properly and goes into much more detail with plenty of figures. Here's an excerpt from pages 153-154 in FGED1 (https://www.amazon.com/dp/0985811749/?tag=terathon-20 https://www.amazon.com/dp/0985811749/?tag=terathon-20) that explains my reasoning about "anti" and "pseudo" with regard to vectors, but it also applies to everything else: In the n-dimensional Grassmann algebra, a 1-vector and its complement, which is an (n - 1)-vector, both have n components. We give the complement of a vector the special name antivector because it corresponds to all of the directions in space that are perpendicular to the vector, excluding only the one direction to which the vector corresponds. An antivector is everything that a vector is not, and vice versa. T hey are opposites of each other and stand on equal ground with perfect symmetry. Since vectors and antivectors have the same numbers of components, a clear distinction is not always made between the two in much of the existing literature, and an antivector is often called a pseudovector because its transformation properties are different from an ordinary vector. However, the prefix "pseudo" tends to induce a characterization of lower status through its meaning of "false" without adding any descriptive value to the term, whereas the prefix "anti" accurately depicts an antivector as something that "opposes" its complementary vector.