HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Siggraph2019 Geometric Algebra

Bivector8 HN recommenders · recommended in 10 months, 2020-2022
YouTube
87K views · 7 years ago · lecture · evergreen

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.

Computer graphics & renderingPure mathematics#geometricalgebra#siggraph#computergraphics#rotors#ganja.js#quaternions

17 comments from Hacker News

@orlp2022 · in “Exponentially Better Rotations”

> 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

RecommendsView on HN
@adamnemecek2021 · in “Quaternions”

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

RecommendsView on HN
@javajosh2021 · in “Manim: An animation engine for explanatory math videos”

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

RecommendsView on HN
@adamnemecek2021 · in “Quaternion Quantum Mechanics [video]”

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

RecommendsView on HN
@these_are_not_t2020 · in “Ganja.js: Geometric Algebra Generator for JavaScript, C++, C#, Rust, Python”

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.

RecommendsView on HN
@adamnemecek2020 · in “Ganja.js: Geometric Algebra Generator for JavaScript, C++, C#, Rust, Python”

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

RecommendsView on HN
@adamnemecek2020 · in “Vanishing zeroes for geometric algebra in Rust”

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

RecommendsView on HN
@adamnemecek2020 · in “All Hail Geometric Algebra”

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

RecommendsView on HN
@greggman32020 · in “Geometric Algebra for Python”

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 ▶ this video

CitesView on HN
@ivan_ah2020 · in “Geometric Algebra for Python”

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

RecommendsView on HN
@guerby2020 · in “Who Is Alexander Grothendieck? (2008) [pdf]”

Geometric algebra could (will?) be used to simplify game engines, see Siggraph2019 Geometric Algebra: ▶ this video Web site: link

CitesView on HN
@adamnemecek2020 · in “Intuitive Guide to Maxwell's Equations”

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

RecommendsView on HN
@aabajian2020 · in “Ask HN: What startup/technology is on your 'to watch' list?”

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.

RecommendsView on HN
@aabajian2020 · in “4D Toys: how objects bounce and roll in 4D – paper accepted to SIGGRAPH 2020”

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

RecommendsView on HN
@jiggawatts2020 · in “Why is Maxwell's theory so hard to understand? (2007) [pdf]”

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

CitesView on HN
@cs7022020 · in “Ask HN: What are you learning?”

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

RecommendsView on HN
@crubier2020 · in “Let's remove quaternions from every 3D engine (2018)”

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.

Strongly recommendsView on HN
A Swift Introduction to Geometric Algebra44:23

A Swift Introduction to Geometric Algebra

sudgylacmoe
1.1M views • 6 years ago
[JSConfUS 2013] Steven Wittens: Making WebGL Dance30:55

[JSConfUS 2013] Steven Wittens: Making WebGL Dance

JSConf
56K views • 13 years ago
Vectors | Chapter 1, Essence of linear algebra9:52

Vectors | Chapter 1, Essence of linear algebra

3Blue1Brown
13M views • 10 years ago
Essence of linear algebra preview5:09

Essence of linear algebra preview

3Blue1Brown
2.8M views • 10 years ago
Why can't you multiply vectors?51:16

Why can't you multiply vectors?

Freya Holmér
524K views • 3 years ago
Eigenvectors and eigenvalues | Chapter 14, Essence of linear algebra17:16

Eigenvectors and eigenvalues | Chapter 14, Essence of linear algebra

3Blue1Brown
6.4M views • 10 years ago
Visualizing the 4d numbers Quaternions31:51

Visualizing the 4d numbers Quaternions

3Blue1Brown
5.6M views • 8 years ago
Learn to Paint with Mathematics24:02

Learn to Paint with Mathematics

Inigo Quilez
191K views • 12 years ago
Times Tables, Mandelbrot and the Heart of Mathematics13:37

Times Tables, Mandelbrot and the Heart of Mathematics

Mathologer
2.8M views • 11 years ago
Lec 1 | MIT 18.06 Linear Algebra, Spring 200539:49

Lec 1 | MIT 18.06 Linear Algebra, Spring 2005

MIT OpenCourseWare
4.9M views • 17 years ago
I painted a Landscape with Mathematics42:00

I painted a Landscape with Mathematics

Inigo Quilez
812K views • 4 years ago
The determinant | Chapter 6, Essence of linear algebra10:03

The determinant | Chapter 6, Essence of linear algebra

3Blue1Brown
5M views • 10 years ago
The Continuity of Splines1:13:50

The Continuity of Splines

Freya Holmér
1.9M views • 3 years ago
A simple trick to design your own solutions for Rubik's cubes14:27

A simple trick to design your own solutions for Rubik's cubes

Mathologer
1.6M views • 10 years ago
HACKENBUSH: a window to a new world of math57:03

HACKENBUSH: a window to a new world of math

Owen Maitzen
562K views • 5 years ago
A Deep Dive into Nanite Virtualized Geometry1:10:00

A Deep Dive into Nanite Virtualized Geometry

SIGGRAPH Advances in Real-Time Rendering
278K views • 5 years ago
Making a heart with Maths10:14

Making a heart with Maths

Inigo Quilez
112K views • 9 years ago
Category Theory 1.1: Motivation and Philosophy46:46

Category Theory 1.1: Motivation and Philosophy

Bartosz Milewski
394K views • 10 years ago
The Beauty of Bézier Curves24:26

The Beauty of Bézier Curves

Freya Holmér
2.2M views • 5 years ago
Hilbert's Curve: Is infinite math useful?18:18

Hilbert's Curve: Is infinite math useful?

3Blue1Brown
2.4M views • 9 years ago