Earlier quoted context omitted.
By the way, the determinant of a matrix is just the outermorphism of the associated linear transformation applied to a unit pseudoscalar. The outermorphism of a linear transformation is a useful and convenient (but sometimes tricky) concept. It gives you not only determinants, but also the application of your linear transformation to arbitrary multivectors.
No the determinant is the isomorphism of the third latent moment of the orthonorm. Duh.
Let's remove Quaternions from every 3D Engine
121–130 of 184 posts
Re: Let's remove Quaternions from every 3D Engine
#122Tangential: Back in 2000 there was some debate about dropping quaternions in favor of a set of equivalent operations on plain matrices. https://www.gamedev.net/articles/programming/math-and-physic... The debate petered out when the proponents finished optimizing their implementation and found they had produced exactly the same code as the existing quaternion implementations. The only difference was the approach used…
Thank you for posting this, I found it both very enlightening and a pretty fun internet-drama read :D Interesting that the original complaint of that article/thread and this one are both the same - ie. quaternions are 'too hard to understand', and people 'use them without knowing how they work'. With this being posted so soon after https://news.ycombinator.com/item?id=18310788 , I feel like that complaint is less val…
Quaternions are seen as this abstract 4D space somehow containing 3D space transformations, and people have a much harder time visualizing 4D space. I do not think spending a lot of time trying to visualize this 4D space, like this video does, is the right way to go. Rotors make that method obsolete.
Re: Let's remove Quaternions from every 3D Engine
#123Earlier quoted context omitted.
The [Aside] section of "The Reflection Formula (Geometric Product Version) " http://marctenbosch.com/quaternions/#h_13 has the answer you seek ;)
I read that a couple times. I found it unsatisfying because you are dropping terms that happen to have a coefficient of zero without a clear explanation of how those terms are even well formed in the first place. I suppose this could be answered if you explicitly stated what set the geometric product acted on. As a guess, and from skimming Wikipedia, it’s the direct sum of scalars, vectors, bivectors, etc, up through…
So, you basically have three case: x (xx) = x (1) = x -> a vector
x (xy) = x (x.y + x^y) = x (x.y) + xxy = x (x.y) + y -> a vector
x (yz) = x (y.z + x^y) = x (y.z) + xyz -> a vector + a trivector. This only happens if the three vectors are independent, which can never be the case for -ava
Re: Let's remove Quaternions from every 3D Engine
#124Hmm, 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 tradition…
Yes, the C++ library you're looking for is here http://versor.mat.ucsb.edu/
Re: Let's remove Quaternions from every 3D Engine
#125Hmm, 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 tradition…
> Has anyone written a library using these concepts Yes, the C++ library you're looking for is here http://versor.mat.ucsb.edu/
Re: Let's remove Quaternions from every 3D Engine
#126So 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?
Each video is interactive, just pause and tweak the 3d visualization. The videos are very good!
Re: Let's remove Quaternions from every 3D Engine
#127I 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…
Not “meh, good enough” but rather “eh, computationally equivalent, why bother reformulating something that looks like a black box but is actually a gimmick we can rely upon to give equivalent results and that is understood by everybody in the field?”
Now consider relativity, which was originally motivated by Maxwell’s equations. We can describe flat spacetime as a 4D space with the Minkowski metric, which we can extend into a geometric algebra Cl_1,3(R). We can then describe field and current as multivectors, and we end up with the equation (singular!)
∇ F = µ_0 c J
This has the additional property that it captures how observations of electromagnetism change under Lorentz transforms. If you think of a Lorentz transform as just a change of basis in spacetime algebra, and if you think of electricity and magnetism as together being the basis for electromagnetism, then it’s obvious that (for example) a moving observer would see a magnetic field generated by a stationary charge.
This is obvious because the basis change from a stationary to moving observer will directly correspond to a basis change from an electric field to a magnetic field. This is simplifying a bit but I find it easier to remember and reason about the geometric algebra version of many of these formulas.
Re: Let's remove Quaternions from every 3D Engine
#128Re: Let's remove Quaternions from every 3D Engine
#129Earlier quoted context omitted.
It is easy to compute on vectors. It is possible, but complicated and unintuitive (I have written code to do it in the past), to compute it on multivectors. I'm arguing in favor of most of GA's language. I just keep finding that the wedge and inner product parts are fantastic, and the geometric product part isn't. And I think the reason people keep finding GA appealing is because they didn't have the wedge product be…
I’m telling you that after a few years working with the geometric product a whole bunch, the wedge product really doesn’t cut it. > I still have basically no idea what 'AB' means when both are arbitrary-grade multivectors Any mathematical language (or any natural language) can express a bunch of nonsensical and useless things. What is the sine of the square root of the logarithm of the tangent of some polynomial appl…
What about the wedge product together with the Hodge star, ie the language that tends to be used in Riemannian geometry?