1. 20

There is a way to represents rotations called a Rotor that subsumes both Complex Numbers (in 2D) and Quaternions (in 3D) and even generalizes to any number of dimensions.

We can build Rotors almost entirely from scratch, instead of defining quaternions out of nowhere and trying to explain how they work retroactively. This takes more time, but I find it is very much worth it because it makes them much easier to understand!

  1.  

  2. 9

    I think it’s time for geometric algebra to take over the world of computer graphics. I mean, if you look closely at how we manage 2D and 3D graphics today, we’re constantly hopping from one representation to another, and reducing the problem to 2D as soon as we can. I’m still in the early stage of learning geometric algebra, but I definitely see how it provides a consistent model for any dimension, which is very appealing from a software engineering perspective.

    1. 7

      I admit I haven’t looked at the details, but as a former geometer I don’t see the gain here. You may get the same syntax between dimensions, but you’ll always need to make some choice when dropping dimensions (basically the choice of a horizon when going from 3 to 2), which will complicate your formulas unless you’re always able to pick your bases in such a way that it doesn’t.

      I love the exterior algebra in all its forms, and have spent years on wild goose chases therein in the name of simplicity and understanding. Honestly, for doing 3d graphics, I recommend just accepting the quaternions as a miracle and moving on with your life to solve problems you actually care about.

      1. 1

        As you’re familiar with the topic, do you have any book recommendation for books on geometric algebra, linear algebra or computational geometry? I’m especially interested in books that either explain all the non-trivial mathematical concepts and notations to read the book, or have a software perspective (like applied to graphics programming).

        1. 2

          I’m especially interested in books that either explain all the non-trivial mathematical concepts..

          Probably not what you’re looking for, but if you’re interested in algebras in general “A Book of Abstract Algebra” is in my opinion a really good book on the topic.

          1. 1

            Thanks, this one seems easier than “Basic notions of algebra”, which apparently a similar structure.

            1. 2

              If you do opt-in to reading the book, I highly recommend also doing the exercises, lots of interesting content and concepts are hidden there!

          2. 2

            Not really? Aside from basic linear algebra, I never took a course or read a coherent book about these things; I picked bits and pieces up here and there while doing differential geometry. The Wikipedia article on Clifford algebra seems to have a nice list of references, fwiw.

            My go-to recommendation for literally any kind of math related to algebra (including vector spaces and some exterior algebra stuff) is Shafarevich’s Basic notions of algebra (table of contents). It’s the best book I’ve seen for getting an intuition for algebraic concepts and learn how they might have been invented in the first place.

            1. 1

              Oh, wow, I think I’ll have to seriously level up my math skills before I’m able to get into these. The two books referenced at the end of the OP seem more approachable for my CS background. Thanks for the references, though!

      2. 5

        A nice resource I’ve been comming back to over the years is: https://www.euclideanspace.com/maths/algebra/clifford/index.htm

        It gives you a pragmatic introduction to Geometric(clifford) Algebra.

        Furthermore I’d like to mention David Hestenes. He has been pushing Geometric Algebra for years. He’s written many books and papers on this topic. He shows that physics (education) could be simplified by using Geometric Algebra.

        An interesting extension si Conformal Geometric Algebra. It allows you to describe shapes and the geometric product between shapes gives you the intersection shape.

        There are even couple C++ libraries: http://versor.mat.ucsb.edu/ http://www.cs.uu.nl/groups/MG/gallery/CGAP/index.html

        1. 1

          http://www.geometricalgebra.net/ may be of interest as well. One can probably pick up a used copy of the text fairly cheap.

        2. 3

          For folks that care about such things, a sometimes-handy trick is Rodrigues’ rotation formula. It isn’t always the right answer, but it’s useful as a quick thing sometimes.

          1. -2

            Whaaaat no. Quaternions are bomb af.