6 ms·
I've found that the easiest way to understand quaternions is by visualizing them as scaled "look" or "orientation" vectors. For example, if an airplane is orie
by calebh 8y ago
I've found that the easiest way to understand quaternions is by visualizing them as scaled "look" or "orientation" vectors.
For example, if an airplane is oriented in the direction (x,y,z) at a rotation θ around that axis, then its rotation in quaternion form is cos(θ/2)+x sin(θ/2) i + y sin(θ/2) j + z sin(θ/2) k
Notice that the multiplications involving x, y, and z are just scaling the vector.
The other important thing to realize is that sin(θ/2) is greater than or equal to zero in the interval [0, 2*pi]. So a quaternion is just a look vector where the magnitude of the vector is determined by the rotation around the look vector axis.
See this page for a useful picture: http://www.chrobotics.com/library/understanding-quaternions http://www.chrobotics.com/library/understanding-quaternions
- jacobolus 8y agoThe easiest way to understand quaternions is as quotients of 3-dimensional vectors. That is, if Q = u/v, then Q is the “quaternion” (complex sum of a scalar and a bivector) which rotates and scales v into u. Or written out, Qv = (u/v)v = u. The bivector part of Q has the same orientation as the plane spanning u and v. If we want to use that quaternion as a representation of a general rotation of 3-dimensional space, we need to use a “sandwich product” because just multiplying Q directly by an arbitrary vector will rotate and scale the portion of the vector parallel to the plane of u–v, but then also produce a trivector component from the perpendicular part of the vector, which is not what we wanted. If we define R = √Q, then we can multiply any vector a like RaR`, where R` is the conjugate of R, and get the scaling & rotation operation we were looking for. Multiplication of any vector perpendicular to the plane of u–v by this sandwich will just scale it by the magnitude of Q, but not change its direction, that is, for a vector b perpendicular to the plane of u–v, RbR` = |Q|b, whereas for a vector c parallel to the plane of u–v, RcR` = Qc, or in other words c gets rotated by the angle between v and u, as intended. The square root here is where the half angle measures come from.
- empath75 8y ago> The easiest way to understand quaternions... ....for who?
- tomlagier 8y agoPeople that understand quaternions, seemingly.
- mkl 8y ago> The easiest way to understand quaternions is as quotients of 3-dimensional vectors. Only for those who already know geometric algebra, I think. People coming from vector geometry and complex numbers will find other explanations much simpler. Note also that your explanation in terms of a vector quotient is effectively a definition of vector quotients, and hence doesn't really explain.
- jacobolus 8y agoSure. You can’t only drop literally only my comment on someone who has never seen this subject before. But in my experience, trying to explain the basics of 2- and 3-dimensional geometric algebra to someone followed by explaining quaternion rotation results in a lot less confusion (and might even save time overall, while resulting in dramatically richer understanding) versus trying to explain quaternions qua quaternions. It’s also very helpful for people who have worked with quaternions before in code but previously treated them as a mysterious black box. If you explain how (multi)vector multiplication (Clifford product) works, then the behavior of quaternions can be clearly explained, and makes straight-forward geometrical sense. If you just dive into talking about quaternions, they seem entirely arbitrary and mystical. In neither case will the typical person be able to figure out what is going on instantly, without thinking about it for themselves. Disclaimer: the above is based on my pretty limited, anecdotal experience. I would be interested to see a study try teaching e.g. undergraduates using two different formalisms, and see which group comes out with better understanding after a semester.
- th0ma5 8y agoSort like monads I imagine as soon as you understand it you lose the ability to explain. I have given up "understanding" them and just try to understand when and where to use them.
- Koshkin 8y agoThat's OK! Do you think you really understand the natural numbers?
- posterboy 8y agoThat's a good question, actually. I'm Not OP, I'm sure OP "understands" them as much as anyone does. But considering that the most common definition is an incomplete extrinsic definition by example, N = {1, 2, 3 ...}, I'd argue that in principle no complete extrinsic definition can be given :) That's more than a solipsism, because any number has inherent properties that make it different from all the others, even if these properties might be equal up to isomorphism with "n'th successor to zero", because then the system of isomorphisms is in question, begging the question ... Whereas, if you know the intrinsic definition by the axioms, you know the definition, not the numbers. Big difference that is. I'm keen on a distinction between numbers and forumals. If you take binary numbers and succ(), you have 0, 1 and an infinity of formulas. In my book that's only two natural numbers. We commonly change base to represent eg. 16 as 0x10 - or 1000 as 1k, requiring additional figures. Figure, number - potato, potato.
- cannabis_sam 8y ago>I'm keen on a distinction between numbers and forumals. What’s the operational advantage of this approach? I feel like it would wreck havoc with fundamental tools like mathematical induction..
- posterboy 8y agoThe difference between f(x)=...=0 and x=2, e.g. is quite huge for a lot of college students. The distinction between constants, operators and formulas is quite explicit in algebra. It seems to be a natural distinction to make. One advantage, I guess, is that a formula can be wrong, but a number can't, which is why proof by induction works at all.