A SIGGRAPH 2019 course on geometric algebra. Charles Gunn gives an intro, then Steven De Keninck gives a programmer-focused course with live examples in ganja.js.
Why Hacker News points people here: HN commenters repeatedly point people to it as the most accessible, developer-friendly introduction to geometric algebra and its use in graphics and physics.
Mind-blowing case for geometric algebra as the right geometry framework
Full comment
Ok look just watch this mind blowing video: this video After that, you can’t argue that geometric algebra is not THE right way to do geometry. Projective geometry (in any dimension) is a subset of geometric algebra. Please watch it.
Recommendscs702Apr 2020
“has a good, developer-friendly introduction to the subject”
Developer-friendly intro with cleaner, simpler code
Full comment
The following video has a good, developer-friendly introduction to the subject that should answer your question. Take a look in particular at the code snippets that are sprinkled throughout the video and notice how much cleaner, shorter, simpler, less computationally costly, and "universal"/"exception-free" the code becomes: this video
RecommendsaabajianMay 2020
“checkout the presentation on Geometric Algebra from 2019 SIGGRAPH”
SIGGRAPH 2019 presentation on geometric algebra
Full comment
If you like this, then checkout the presentation on Geometric Algebra from 2019 SIGGRAPH: this video You can then play around with objects in 3D, 4D, and beyond: link
RecommendsaabajianMay 2020
“much more understandable”
Unifies hard physics problems in a common framework
Full comment
Geometric algebra: this video It makes a lot of hard physics problems (Maxwell's equations, relativity theory, quantum mechanics) much more understandable and (I'm told) unifies them in a common framework. I think it will help your average developer become comfortable with these areas of physics.
RecommendsadamnemecekJul 2020
“Watch the SIGGRAPH talk”
SIGGRAPH talk on geometric algebra
Full comment
It's one equation in geometric algebra. link Also there is a new community for geometric algbera people link . Check out the demo link Watch the SIGGRAPH talk this video Join the discord link
Recommendsivan_ahSep 2020
“provide some more background on GA and its applications”
Background on GA and applications like projections and rotations
Full comment
Here is a video this video and the associated HN thread link that provide some more background on GA and its applications. I think you're generally right that GA is a rebranding of concepts we already knew about, however representing them in a uniform manner seems like a useful thing to do. The at t=4083 in the video they show some interesting examples of projections, rotations, and other geometric operations that can be done quite simply this video
RecommendsadamnemecekNov 2020
“also gave a talk on GA at SIGGRAPH 2019”
Talk on GA at SIGGRAPH 2019 by Bivector's creator
Full comment
You should check out the bivector community link . Check out a demo link Join the discord link . Enki (the guy behind bivector) also gave a talk on GA at SIGGRAPH 2019 this video
RecommendsadamnemecekDec 2020
“also gave a talk on GA at SIGGRAPH 2019”
Talk on GA at SIGGRAPH 2019 by Bivector's creator
Full comment
You should check out the bivector community dedicated to geometric algebra link . Check out a demo link Join the discord link . Enki (the guy behind bivector) also gave a talk on GA at SIGGRAPH 2019 this video
RecommendsadamnemecekDec 2020
“also gave a talk on GA at SIGGRAPH 2019”
Talk on GA at SIGGRAPH 2019 by Bivector's creator
Full comment
You should check out the bivector community dedicated to geometric algebra link . Check out a demo link Join the discord link . Enki (the guy behind bivector) also gave a talk on GA at SIGGRAPH 2019 this video
Recommendsthese_are_not_tDec 2020
“also made a very interesting presentation of geometric algebra”
Very interesting presentation of geometric algebra
Full comment
I think that simple should be understood here as easy to use . As a crude analogy, the mechanical principles underlying a car with an automatic shift aren't simple, but the abstraction it provides makes driving much easier to learn. A more mathematically grounded example could be the complex plane compared to the real line: when encountered for the first time, it is not simple in any way, but it offers a clean solution to many (originally real valued) problems (perhaps by the fact that it is algebraically closed?). NB: the author of this library also made a very interesting presentation of geometric algebra (using this library as vehicle) for SIGGRAPH 2019: this video It has been posted a few times on HN before.
RecommendsadamnemecekAug 2021
“gave a talk at Siggraph2019”
Siggraph 2019 talk by geometric algebra community founder
Full comment
Reasoning about space and time is just so much nicer in geometric algebra. There's a new cool community on geometric algebra link The founder (Steven De Keninck aka enki) gave a talk at Siggraph2019 this video You should join the discord link
Well I've been on a real Geometric Algebra (aka Clifford Algebra) kick lately, and ran across ganja.js [1]. It's a single no deps file that is...impressive. 120k uncompressed, and with it you can construct any degree algebra (including the more esoteric hyperbolic/parabolic ones), render to canvas, svg or webgl(!). It also includes a clever little DSL parser and interpreter (it overloads the scientific notation to name basis vectors!) that lets you construct more complex things from simple things using various kinds of products. The author, Steven De Keninck, is quite impressive as well, having got his start in the demoscene some time ago. He has a good video from SIGGRAPH 2019 [2] that explains why this algebra is better than [matrices, tensors, vectors, complex numbers]. Of particular interest (to me anyway) is the 2D projective geometry. I don't want to oversell it, but ganja is fucking amazing and there is a great deal I want to do with it. For one, I'd like to recapitulate my physics degree with it. [1] link [2] this video
RecommendsadamnemecekDec 2021
“also gave a talk on GA at SIGGRAPH 2019”
Talk on GA at SIGGRAPH 2019 by Bivector's creator
Full comment
You should check out the bivector community dedicated to geometric algebra link . Check out a demo link Join the discord link . Enki (the guy behind bivector) also gave a talk on GA at SIGGRAPH 2019 this video
RecommendsorlpApr 2022
“The talk in general has a bunch of example applications”
Example applications of projective geometric algebra
Full comment
> Quite bluntly, this all sounds like an attempt to reinvent euclidean geometry following a convoluted way. I mean, what does all this buy you that applying a subset of affine transformations (scaling, translation, rotation) to an orthogonal coordinate system doesn't give you already? It is attempting to reinvent Euclidean geometry, yes. I don't think it's convoluted though. To give a prime example, take the article we're commenting on: interpolating rotations. Or more generally: interpolating transformations. Just doing this with rotations without suffering gimbal locks already brings you to quaternions. Are quaternions 'convoluted'? The fact that all objects are native to the algebra means they're composable. Take for example this slide of the formula of a 4D torus in coordinates, and in 4D PGA: link The talk in general has a bunch of example applications: this video Questions such as "the intersection of this line and this plane", "the line through two points" "the circle where these two spheres intersect", "the point at the intersection of three planes", "the projection of this line on this plane" and such are trivial, native (the resulting object is part of the algebra) and exception-free in geometric algebra. E.g. two planes always intersect, it just happens that the intersection is a line at infinity if they're parallel. The exact same code used to translate and rotate a point around the origin can be used to translate and rotate a line, or a plane around the origin. Al
Cites itjiggawattsApr 2020Full comment
Maxwell's theory is hard to understand because it's based on an almost-but-not-quite-appropriate algebra. It's like stringly-typed programming. It works , but it's messy and hard to understand. Maxwell's set of coupled differential vector electromagnetic equations simplify to a hilariously short single equation in Geometric Algebra. A random Google turned up this paper comparing classic EM and the GA formulation. It's not even the simplest possible representation, because that uses natural units and a 4D GA to basically condense the entire set of EM theory into about 4 characters worth of equation that is fully relativistic for free: link It's almost a joke. To me it's reminiscent of looking at beginner programmers. You see them do crazy things like calculate a date "next month" by taking apart the pretty-printed date string, parsing to find the month, realising that sometimes the day part is one digit and sometimes it's two, then having to worry about m-d-y or d-m-y formats, building little tables of "days per month" and leap years... and so on. They can write pages and pages of error free code and it's still Wrong because the correct way is to just call "thedatevar.AddMonth(1);" and be done with it. PS: 3D game engine vector algebra libraries have all of this in common with the physics maths. Things like the cross product being bizarre, having to pick a basis, not being able to interpolate rotations, gymbal lock, rounding error, having different maths for 2D and 3D, a bun
Cites itguerbyAug 2020
“Geometric algebra could (will?) be used to simplify game engines”
Geometric algebra for simplifying game engines
Full comment
Geometric algebra could (will?) be used to simplify game engines, see Siggraph2019 Geometric Algebra: this video Web site: link
Cites itgreggman3Sep 2020Full comment
AFAICT the proponents of GA claim it explains lots of things that don't make a whole lot of sense without it. One example is why you multiply normals by the world_inverse_tranpose. Apparently the reason is because normals are actually bivectors, not directional vectors as they are usually explained. another is that at least in code, they apparently solve lots of issues that other methods don't See: linklink and: link and this video