The core difference between active and passive rotation, as represented by quaternions, lies in what is being rotated: either the object/point itself or the coordinate system used to describe it. Active rotation rotates the point with respect to the coordinate system, while passive rotation rotates the coordinate system with respect to the point.
Defining the Terms
Based on the reference provided:
- Active Rotation: When an object or a point is physically moved or rotated within a fixed coordinate system. Imagine spinning a ball while you stand still, keeping the room orientation fixed.
- Passive Rotation: When the coordinate system or frame of reference is rotated, while the object or point itself remains fixed in space. Imagine standing still but tilting your head; the ball didn't move, but its coordinates relative to your head change.
The reference explicitly states that "The two rotations are opposite from each other." This means that an active rotation by a certain amount corresponds to a passive rotation of the same amount but in the opposite direction (or vice versa).
Quaternion Representation
Quaternions are a powerful tool for representing 3D rotations. The difference between active and passive rotation manifests in how the quaternion is applied:
- An active rotation of a vector $\mathbf{v}$ by a unit quaternion $\mathbf{q}$ is typically calculated as:
$\mathbf{v}' = \mathbf{q} \mathbf{v} \mathbf{q}^{-1}$
Here, $\mathbf{v}$ is treated as a pure quaternion (with the scalar part zero). $\mathbf{q}^{-1}$ is the inverse of $\mathbf{q}$, which for a unit quaternion is simply its conjugate $\mathbf{q}^*$. - A passive rotation (which is the opposite of an active rotation) using the same coordinate system change described by $\mathbf{q}$ would rotate the coordinate axes. To find the new coordinates of the fixed point $\mathbf{v}$ in the new coordinate system, you would apply the inverse rotation. This can be represented as:
$\mathbf{v}'{new_coords} = \mathbf{q}^{-1} \mathbf{v}{old_coords} \mathbf{q}$
Notice the order of $\mathbf{q}$ and $\mathbf{q}^{-1}$ is swapped compared to the active rotation formula.
This highlights the "opposite" nature mentioned in the reference – applying $\mathbf{q}$ actively rotates the point, while applying $\mathbf{q}^{-1}$ actively rotates the point in the opposite direction. A passive rotation of the coordinate system by $\mathbf{q}$ effectively means that to describe a fixed point in the new system, you need to apply the inverse rotation ($\mathbf{q}^{-1}$) to its original coordinates.
Key Differences Summarized
Here's a table outlining the main distinctions:
Feature | Active Rotation | Passive Rotation |
---|---|---|
What Moves? | The point/object | The coordinate system/frame of reference |
Reference Frame | Fixed | Rotates |
Quaternion App | $\mathbf{v}' = \mathbf{q} \mathbf{v} \mathbf{q}^{-1}$ | $\mathbf{v}' = \mathbf{q}^{-1} \mathbf{v} \mathbf{q}$ |
Relationship | Opposite of passive rotation by $\mathbf{q}$ | Opposite of active rotation by $\mathbf{q}$ |
Common Use Cases | Animating objects, rigid body motion | Changing camera view, transforming coordinates |
Practical Insights and Examples
- Computer Graphics: When you move a character model in a game, you're applying active rotations and translations to its vertices. When you orbit the camera around a scene, you're often applying passive rotations to the viewing transformation matrix (or equivalently, actively rotating the world in the opposite direction relative to the camera).
- Robotics: Describing the movement of a robot arm's end-effector involves active rotations. Determining the coordinates of a fixed sensor target in the robot's moving base frame involves passive rotations.
- Mathematics: The choice between active and passive rotation conventions can affect the definition of rotation matrices as well. An active rotation matrix $\mathbf{R}$ transforms a vector $\mathbf{v}$ to $\mathbf{v}' = \mathbf{R}\mathbf{v}$. A passive rotation of the coordinate system results in new coordinates $\mathbf{v}'{new_coords}$ for the same point $\mathbf{v}{old_coords}$ such that $\mathbf{v}{old_coords} = \mathbf{R} \mathbf{v}'{new_coords}$, meaning $\mathbf{v}'{new_coords} = \mathbf{R}^{-1} \mathbf{v}{old_coords}$. For rotation matrices, $\mathbf{R}^{-1} = \mathbf{R}^T$.
Understanding this distinction is crucial for correctly applying rotations in 3D applications, ensuring that transformations behave as expected whether you are moving objects or changing perspectives.