Live data from Hacker News

Let's remove Quaternions from every 3D Engine

marctenbosch.com

1–10 of 184 posts

Re: Let's remove Quaternions from every 3D Engine

#2
I do love Geometric Albegra and hope it gets further adoption. In my field (physics), the project of moving to geometric algebra currently looks hopeless due to the inertia of other formalisms and lack of interest from established physicists.

The real shame is that the best opportunity to introduce physicists to geometric algebra was a hundred years ago when we were first discovering spinors. First the Pauli algebra and then the Dirac algebra. If physicsts at the time had been made aware of the geometric algebra approach to these things, I think it could have been an appropriate motivation to switch to geometric algebra. Instead, people came up with matrix representations of the Pauli and Dirac algebras and the field is stuck using those and saying "meh. Good enough."

Re: Let's remove Quaternions from every 3D Engine

#4

This article will take more than than I have to digest right now, but it's definitely saved. I have never really understood quaternions. All I knew is that I could use that instead of euler angles, avoid gimbal lock, and would blindly use them.

It's also great for interpolation

Re: Let's remove Quaternions from every 3D Engine

#6
I don't quite understand why the author opposes quaternions and geometric algebra: the geometric product is almost exactly the formula for multiplying pure imaginary quaternions (up to the real part sign).

These are just two constructions of isomorphic Clifford algebras which really are the same thing.

Re: Let's remove Quaternions from every 3D Engine

#7

Dual quaternions are even better for dealing with dynamic 3D space http://www.chinedufn.com/dual-quaternion-shader-explained/

This can be better expressed in the geometric algebra by just considering a geometric algebra with a degenerate metric (ie. you use basis elements x̂, ŷ, ẑ and ϵ̂ where x̂² = ŷ² = ẑ² = 1 and ϵ̂² = 0). Including factors of ϵ̂ in your rotors now is equivalent to a dual quaternion.

This way, one gets the wonderful properties of geometric algebra and the useful properties of dual quaternions together.

Re: Let's remove Quaternions from every 3D Engine

#8
post #6

I don't quite understand why the author opposes quaternions and geometric algebra: the geometric product is almost exactly the formula for multiplying pure imaginary quaternions (up to the real part sign). These are just two constructions of isomorphic Clifford algebras which really are the same thing.

That's not true. The quaternions are the even subalgebra of the 3D geometric algebra. They are not isomorphic. Quaternions are isomorphic to the set of scalars and bivectors in the 3D geometric algebra but the 3D GA also has vectors and a volume form.

This is just like how the complex numbers are isomorphic to the even subalgebra of the 2D geometric algebra.

The geometric algebra is richer, more powerful, more generalizable and more coherent than the quaternion algebra, all while being easier to understand because its so physical.

Re: Let's remove Quaternions from every 3D Engine

#9

Dual quaternions are even better for dealing with dynamic 3D space http://www.chinedufn.com/dual-quaternion-shader-explained/

I kind of expect someone better versed in Geometric Algebra to come along and explain how it somehow also supersedes that.
Post reply on HN