Live data from Hacker News

Let's remove Quaternions from every 3D Engine

marctenbosch.com

11–20 of 184 posts

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

#11

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.

GA is more general, however my claim is that the DQ space is the most useful one. E.g. sedenion have little use right now.

Also I believe that technically they call under Clifford algebra.

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

#12

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.

GA is more general, however my claim is that the DQ space is the most useful one. E.g. sedenion have little use right now.

Also I believe that technically they call under Clifford algebra.

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

#14
Hmm, the word "interpolate" does not appear in the article. One of the main applications of quaternions in games is interpolating rotations. Does this representation interpolate well?

Also, I've seen several articles trying to convince me that alternative transformation representations like these are better, but I haven't seen much code. Has anyone written a library using these concepts that could replace a traditional vector math library like https://glm.g-truc.net/ for games?

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

#15
post #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

[deleted]

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

#16

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.

I think you just described 90% of people who use them. Normally I like having a better grasp of the underlying theory I'm applying, but somehow quaternions seem more likely to make me think, yeah I'll eventually get around to that... instead of diving right in as this article I believe better motivates.

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

#17

Earlier quoted context omitted.

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

GA is more general, however my claim is that the DQ space is the most useful one. E.g. sedenion have little use right now. Also I believe that technically they call under Clifford algebra.

Clifford himself called it the geometric algebra, so many prefer to call it that, at least when applied to geometric problems.

I think that there is a lot of useful structure in the geometric algebra that gets thrown out when one moves to talking about its subalgebras (ie. quaternions, dual quaternions, vectors, etc.).

Its ultimately up to taste but I often find that I prefer to use the full GA instead of its subalgebras. Often some unexpected beauty or useful result drops out!

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

#19

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.

I'd argue that this geoemtric algebra presented in the article is much more comprehensible than quaternions and also more useful!

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

#20
So I have a layman's question: 3blue1brown and Ben Eater did a quaternion visualization set of videos. And they said it was good because it avoided an an axis lock thing that happens when x y z rotate. He said there were maybe some errors with other models as well. So I guess the question is "does this also not have the locking axis problem?"

I think it's called gimbal lock?

Post reply on HN