Quaternions and 3d rotation, explained interactively
Why Mathematics Stack Exchange recommends it
Mathematics Stack Exchange answerers point people to it as one of the best elementary, visual introductions to quaternions and their link to 3D rotation.
Recommended by 1 people across 1 different months, 2019 to 2021.
Why Stack Overflow recommends it
Stack Overflow users link it when answering questions about quaternions, orientation and rotation in graphics, robotics and game code, as a visual way to see how the math works.
Recommended by 1 people across 1 different months, 2018 to 2024.
What it is
A short 3Blue1Brown video that introduces how unit quaternions represent 3D rotations, paired with an interactive explorable site built with Ben Eater. It builds on an earlier stereographic-projection video and uses visuals to show how quaternion multiplication acts on rotations.
What people said
Strong rec mathematics2x2life · 2020-05 · Mathematics Stack Exchange · on “Unit vectors and quaternions”
As Don Thousand explains, you do need a bit of Linear Algebra/Abstract Algebra to fully appreciate the relationships. I would also add some elementary Complex Analysis (just the operations and basics) to also appreciate/understand. But for an application of quaternions and their vector connections, with a bit of the Math thrown in, I really do not think you can do better (at an elementary level) than the videos by 3Brown1Blue: Visualizing quaternions (4d numbers) with stereographic projection [LINK] Quaternions and 3d rotation, explained interactively [this video]
Recommends Xander · 2022-12 · Stack Overflow · on “Unity Quaternions”
Quaternion is a 4-dimensional complex number that consists of real and imaginary parts. What is make Quaternion distinct form a Vector, is a special rules of multiplication that are applied to its imaginary parts. Quaternions are representing the 4D unit sphere and is handy to calculate rotations in 3 spatial dimensions, here's the video that helped me a lot to understand how the math works in general: [this video] Also there is few simple practical hints: Quaternion is a rotation itself, as the action. Imagine you have some orientation in space, it is your rotation now. Then turn to somewhere else, this is now your new rotation that is combination of the previous one and the amout of rotation yo
Cites Pmsmm · 2018-11 · Stack Overflow · on “How To Properly do Rotations With Quaternions”
so I'm trying to make a camera that looks at an object I created and that object should rotate in response to mouse and keyboard inputs. Mouse gives the pitch and yaw rotations and Keyboard handles the roll. What I managed so far was this class representing the quaternion camera: QuaternionCamera::QuaternionCamera(vec3 direction) { this->initial_state = quat(1, 0, 0, 0); this->distance = direction; } void QuaternionCamera::RotateCamera(float Xangle, float Yangle, float Zangle) { quat temp = initial_state.qFromAngleAxis(Xangle, vec4(1,0,0,1)); quat temp2 = temp * initial_state.qFromAngleAxis(Yangle, vec4(0,1,0,1)); quat temp3 = temp2 * initial_state.qFromAngleAxis(Zangle, vec4(0, 0, 1, 1)); i
Cites mathTrials · 2019-08 · Mathematics Stack Exchange · on “3D Epicycle Drawing of a Space Curve Using a Quaternion Fourier Transform”
I recently came across the beautiful mathematical depiction of the Fourier series as a series of rotating vectors tracing out epicycles that can be used to approximate any closed 2D curve. My understanding of this topic and other topics I address here (such as quaternions) comes from some sources I found on the internet, which I refer to at the end of this description. I will first explain my thinking and then present my question at the end. After learning about epicycle drawings in 2D, I tried to think of how I would extend this to 3 dimensions. My current thinking is that the end result would look something like this: [LINK] The idea is to end up with a series of vectors (depicted as strai
Cites Rafael · 2020-03 · Stack Overflow · on “Practical Understanding of Quaternions in ROS / MoveIt”
My research says that a quaternion of form (x, y, z, w) describes rotation in 3D space only. How does the robot know what position to move to if it only gets rotation information? Correct, a quaternion describes the orientation of a frame only ; you also need to specify the position of the frame to have a complete pose. Quaternion is just a different way to describe the orientation of a body, another way is, as you already mentioned, to use Euler Angles (Yaw, Pitch, Roll). In your case with your pose_goal object, you need to specify the position of the desired/goal robot pose by setting the x , y and z components of pose_goal.position (that's the position of the Robot in 3D space) and then a
Cites Mr. Lopez · 2021-02 · Mathematics Stack Exchange · on “Quaternions +Geometric (Clifford) Algebra: What Is the Proper Prerequisite Sequence Before Learning These Subjects”
If Science is your destination, then there is no other noble subject beyond philosophy than mathematics itself to give you the foundation you need to study and learn the sciences. It is a commendable cause. I give my answer to your question for the benefit of all on being appropriately prepared to understand Quaternions and Clifford (Geometric) Algebra (which utilizes Octonions). Because of the increase in traffic to mathematical forums for queries about quaternions due to a heightened advantageous awareness of them in computer science, and an increasing popularity for applications in physics (particularly their broader inclusion within Geometric Algebra), it now necessitates a consolidated
Cites lvand · 2024-09 · Stack Overflow · on “What units does Matlab's function angvel produce?”
The angvel function calculates angular velocity in radians per second ( rad/s ) however, the way angular velocity is derived from quaternions or rotation matrices can lead to values that are not intuitive, especially with how rotation transformations work. The reason you're seeing values like sqrt(2) and 2 instead of the expected values can be due to reasons such as Angular velocity is derived from the change in orientation over time; when you pass a sequence of quaternions to angvel , it computes the angular velocity at each step in time. Quaternions represent rotations in non-linear ways. Computing angvel can include issues with scaling when rotations approach certain limits. This is why q