Siggraph2019 Geometric Algebra
Bivector8 HN recommenders · 2020–2022
87K views · lecture · evergreen · Uploaded 2019-11-06
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.
HN commenters repeatedly point people to it as the most accessible, developer-friendly introduction to geometric algebra and its use in graphics and physics.
9:52Vectors | Chapter 1, Essence of linear algebra
3Blue1Brown
19:42But what is the Fourier Transform? A visual introduction.
3Blue1Brown
24:26The Beauty of Bézier Curves
Freya Holmér
1:13:50The Continuity of Splines
Freya Holmér
39:49Lec 1 | MIT 18.06 Linear Algebra, Spring 2005
MIT OpenCourseWare
3:36elevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)
24:46Painting a Character with Maths
Inigo Quilez
9:18The Most IMPORTANT Video You'll Ever See (part 1 of 8)
wonderingmind42
17 comments from Hacker News
Ok look just watch this mind blowing video: [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.
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: [VIDEO]
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
If you like this, then checkout the presentation on Geometric Algebra from 2019 SIGGRAPH: [VIDEO] You can then play around with objects in 3D, 4D, and beyond: [LINK]
Geometric algebra: [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.
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 [VIDEO] Join the discord [LINK]
Geometric algebra could (will?) be used to simplify game engines, see Siggraph2019 Geometric Algebra: [VIDEO] Web site: [LINK]
Here is a video [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 [VIDEO]
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: [LINK] [LINK] and: [LINK] and [VIDEO]
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 [VIDEO]
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 [VIDEO]
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 [VIDEO]
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: [VIDEO] It has been posted a few times on HN before.
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 [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] [VIDEO]
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 [VIDEO]
> 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: [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