4 ms·
The easiest way for me to conceptualize it is to think of it as orientation + rotation. 3 dims for the orientation vector to get the object facing/pointing the
by nighthawk454 2y ago
The easiest way for me to conceptualize it is to think of it as orientation + rotation. 3 dims for the orientation vector to get the object facing/pointing the right way, then a further 1 dim/var for rotation about that axis. For a total of 4 variables/dimensions
3blue1brown and Ben Eater did a series of interactive videos on the subject that can be explored:
https://eater.net/quaternions https://eater.net/quaternions
My favorite demo on this point is this one: https://eater.net/quaternions/video/rotation https://eater.net/quaternions/video/rotation
Where they have a toggle to go between `a + bi + cj + dk` quaternion notation and an equivalent formulation in terms of 3d orientation vector plus rotation angle as `cos(θ) + sin(θ)*(ai + bj + ck)`
- deleted 2y ago[deleted]
- tsarakoye_selo 2y agoWhat happens if rotation is zero? Won't (ai +bj+ ck) get multiplied by zero then, and the orientation information is lost?
- nighthawk454 2y agoIf you click through to the interactive example, you can try it! You'll see that the if the above equations are `q`, then full formula to rotate a vector `v` is `v' = q * v * q^-1`
- tsarakoye_selo 2y agoSorry, what you have stated is not very clear. If you use cos(theta) + sin(theta)*(ai + bj + ck) representation as you mentioned, what does happen to the orientation information when sin(theta) becomes zero
- moefh 2y agoWhen theta=0, you have q = cos(0) + sin(0)*(ai+bj+ck) = 1 + 0 = 1 That means applying the "rotation" to the vector gives v' = q * v * q^-1 = 1 * v * 1^-1 = v So the output ("rotated") vector is the same as the input, as you would expect for a rotation by 0.
- thaumasiotes 2y ago> The easiest way for me to conceptualize it is to think of it as orientation + rotation. 3 dims for the orientation vector to get the object facing/pointing the right way, then a further 1 dim/var for rotation about that axis. For a total of 4 variables/dimensions Something's missing. Orientation in 3D space is a two-dimensional quantity; you would never need three dimensions to express it. The third dimension has to be providing some additional information, like a magnitude.
- nighthawk454 2y agoOnly if you’re describing orientation as two orthogonal rotations. I’m saying think of it like a ‘pointing’ vector that defines the axis of rotation. And such a vector does require 3 components in 3d space
- creativenolo 2y agoIt’s possible to point in 3D space with two rotation components. For example, the first two components of a UV texture. But I agree it is helpful to think of quaternions as direction and spin.
- thaumasiotes 2y agoYes, a three-dimensional vector is a combination of a 3D orientation and a magnitude. An orientation by itself doesn't have three dimensions. The surface of a sphere is a two-dimensional space. > Only if you’re describing orientation as two orthogonal rotations. No, the space has the dimensionality it has. You may choose to describe a 3D orientation with more than two numbers, but you won't stop it from being a two-dimensional quantity that way. If you use more than two numbers, those numbers will fail to be independent of each other.
- oasisaimlessly 2y agoOrientation would conventionally be a member of SO(3), which is a 3-dimensional manifold. Your comment is essentially correct if you replace the word "orientation" with "direction", though.