Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> rotors operate fully in 3D, whereas quaternions are in 4D. This means you can visualize rotors ... whereas with quaternions, you have to ... trust the formulas.

This is a bit of a stretch -- by the same logic any operation on more than three numbers means I have to trust the formulas. We have many methods to understand, visualize, develop intuition, etc. in such cases, such as "fix a, look at what happens when you vary b, c and d". When I am working to understand dynamics of an object with three variables in MATLAB or similar, I seldom (probably never) plot it in 3D (which gets projected on the surface of a flat monitor anyway). Instead I usually play with numerous 2D and even 1D plots. My 2c.



> rotors operate fully in 3D

By this, the author means: you can visualize a rotor FULLY in 3D, no extra dimension neccessary.

I suspect you never have tried to think about how quaternions work mechanically, I suggest this neat video:

https://www.youtube.com/watch?v=d4EgbgTm0Bg


Thank you for the link, very cool video!

I do get the theory part -- I know how quaternions and rotors work (and have a PhD in "pure" math). My objection (and a pretty firm one) is with the "if a phenomenon has more than three variables we cannot visualize it" logic. While lower dimensions make things a little easier to understand and develop an intuition for, a convenient abstraction or a model is much more important. Most engineers work with things described by multiple variables all the time and "reduce dimension to three" is seldom the main goal.

If the claim is that rotor is a better model, more convenient for software engineering, we can examine (and debate) that. But we should not recommend switching just because it has one less variable. For someone with an algebraic rather than geometric view, the ability to multiply quaternions on a piece of paper may be a strong benefit. Double-checking, say the result (1+i)*(j-k) by hand takes 10 seconds and a piece of paper; try mentally computing the rotor composition -- you would probably fall back on algebra (I certainly would).


No math degree here, but personally I think the author's main point was not purely that they could be visualized without resorting to 4D. Instead I think it was that the concept of rotors can be explained from first principles, whereas he feels that currently, programmers look at quaternions as black boxes for which they have no intuition. Here's the relevant quote from the video:

> But instead of defining Quaternions out of nowhere and trying to explain how they work retroactively, it is possible to explain Rotors almost entirely from scratch. This obviously takes more time, but I find it is very much worth it because it makes them much easier to understand!

I can't speak to his argument really as, when it comes to 3D game dev, I'm purely a hobbyist. I do believe though that in the end, programmers want to program. They want to be handed a library with an API that makes sense. The ones who care deeply about the whys and hows of the math will always take the time to learn it; others just want to know how to write the code. For those people, I'm not sure the rotor equations I saw are any more intuitive at first blush than the quaternion equations.

In short, I feel like by the time you're at the point where you're explaining the details of a topic like geometric algebra, you've likely already lost the people who just want to code, even if the description you provide is more intuitive.

Having said that, I still found the video fascinating.


I think different people have different approaches. I can only say that, for me, I usually need some kind of visual understanding of what an object represents - which may be 2D, 3D, a graph structure or whatever else, depending on the task at hand.

In this case, a 3D visualisation is the right tool because the problem is all about objects in 3D space. So rotors let you mentally work with the same objects you're thinking about anyway instead of switching to some other concept or representation.

I don't see that "it's technically 2D anyway because it's projected to the surface of my monitor" is a valid argument. My visual system knows pretty well how to deal with pseudo-3D objects, thank you very much.


> When I am working to understand dynamics of an object with three variables in MATLAB or similar, I seldom (probably never) plot it in 3D (which gets projected on the surface of a flat monitor anyway). Instead I usually play with numerous 2D and even 1D plots. My 2c.

This is a very interesting point. Have you tried VR? Do you think this preference for 2d and 1d is just because 3d display technology is still inconvenient or is it something deeper than that?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: