Visual walkthrough — Quaternion rotation formula — rotating vector v by quaternion q
This is the picture version of the parent formula. We start from nothing — a single arrow floating in space — and slowly build the sandwich one drawing at a time. Every symbol is defined the moment it appears, and every step has a WHAT / WHY / PICTURE.
By the end you will see why the angle inside is only half the turn.
Step 1 — An arrow, and the turn we want
WHAT: We have an arrow and a turn instruction: "spin by angle around the axis ."
Here (read "n-hat") is a unit axis — an arrow of length exactly pointing along the line we spin around. The little hat always means "length one." (theta) is how much we spin, measured in the usual way: is a quarter turn, a half turn.
WHY: Every rotation in 3D, no matter how complicated, is exactly one spin by some angle about some single axis . This is Euler's theorem. So if we can rotate about an arbitrary , we can do any rotation. That is the whole target.
PICTURE: The black arrow is ; the red arrow is where we want it to land, ; the vertical line is the spin axis .

Step 2 — Split the arrow into two honest pieces
WHAT: We break into (points along ) plus (points sideways, at to ).
WHY split at all? Because the two pieces behave completely differently under a spin:
- lies on the axis — spinning cannot move it (think of a pencil lying along the axle of a wheel; the wheel turns, the pencil doesn't).
- sticks out sideways — it is the only part that actually swings around.
Solving each piece on its own is far easier than solving the tilted whole. This "divide and conquer" is why the derivation stays clean.
PICTURE: Black arrow resolved into its two components; note the little right-angle square where meets the axis.

Step 3 — Package the turn as a quaternion
WHAT: We build the object that carries the turn. Notice the angle inside is — half the actual turn. Hold that thought; Step 6 pays it off.
Let us name the two pieces once and reuse them: So . Because and has length , this has length — a unit quaternion, exactly what a rotation needs.
WHY half? We literally cannot justify it yet — it looks arbitrary. That is honest: the half-angle is forced on us later by the algebra, not chosen up front. For now, just accept as the recipe and watch what it does.
PICTURE: The unit circle in the plane. As grows from , the point (in red) crawls only halfway as fast around the circle — the visual seed of the half-angle.

Step 4 — The sandwich, and why the bread on both sides
WHAT: We multiply the arrow by on the left and by on the right — a "sandwich," with as the filling.
WHY not just (one slice of bread)? Because a lone product generally produces a nonzero scalar part — the answer would no longer be a pure quaternion, i.e. no longer a valid 3D arrow. The right-hand is what cancels that scalar leak and guarantees the output is again — a clean arrow. (The parent proves this closure via .)
Think of it as wrap → spin → unwrap: wraps the arrow, the multiplication spins it, unwraps it back into the world of ordinary arrows.
PICTURE: Three-panel strip: the bare arrow, the arrow "wrapped" by (tinted red = not yet a pure vector), and the arrow "unwrapped" by back to a clean red vector .

Step 5 — The parallel part never moves
WHAT: Feed the on-axis piece through the sandwich. The result is Unchanged. It comes out exactly as it went in.
WHY: points along , and 's vector part also points along . When two quaternions share the same axis direction, their cross product vanishes — there is no "sideways" ingredient to swing. The scalar bookkeeping then leaves untouched. Physically: a spin about cannot move something already lying along .
PICTURE: The axis with on it; a curved arrow shows the spin sweeping around, and (in red) sits perfectly still on the axle.

Step 6 — The perpendicular part swings — and the half-angle doubles
This is the heart of everything. Working out the sandwich for the sideways piece gives
Term-by-term:
- — the original sideways arrow.
- — a new arrow, still sideways, but rotated ahead of in the spin direction (the cross product manufactures the "sideways-ahead" direction to swing into).
- and — how much of each we mix.
Substituting:
Read that geometrically: it is turned through angle inside its own flat sideways plane — a of "stay" plus a of "swing ahead." Ordinary 2D rotation, exactly.
PICTURE: The flat plane perpendicular to . Two black basis arrows and at ; the red result arrow sits at angle , its components labelled and .

Step 7 — Reassemble: this IS Rodrigues' formula
WHAT: Add the fixed parallel part (Step 5) to the swung perpendicular part (Step 6): Rewriting and gives the classic form:
Term-by-term:
- — shrink the whole arrow by .
- — add the sideways swing.
- — top the on-axis part back up to full length (the over-shrank it; here is the length of the axis-shadow).
WHY it matters: This is exactly Rodrigues' rotation formula. So the quaternion sandwich is not a new kind of rotation — it is the same honest rotation, just stored in 4 numbers instead of a 9-number matrix. Cross-check it with Rotation matrices & orthogonality and you get the same .
PICTURE: The two pieces snapped together: fixed plus swung reconstruct the full red , sitting on the cone of rotation about .

Step 8 — Edge & degenerate cases (never leave the reader stranded)
PICTURE: A 2×2 grid of the four degenerate cases, each showing the input arrow (black) and output arrow (red) so the reader sees "yes, that's what happens."

The one-picture summary
Everything on one canvas: the arrow split into (frozen) and (swung by ), the axis , the quaternion carrying eaten twice to make , and the final red tracing the rotation cone.
Recall Feynman retelling of the whole walkthrough
You have an arrow and you want to spin it around some axle. First you notice the arrow has two parts: the bit lying along the axle (which a spin can never move) and the bit sticking out sideways (the only bit that swings). You write your spin instruction as a little 4-number gadget called a quaternion, and — weirdly — you only put in half the turn amount. Then you do a sandwich: wrap the arrow with the gadget, spin, unwrap with its mirror-twin. Because the gadget gets used twice — once wrapping, once unwrapping — the two half-turns add up to the full turn you actually wanted. The sideways part swings by exactly (that's the and mixing), the along-axle part stays put, and gluing them back together is precisely Rodrigues' formula. Check the corner cases — no turn, half turn, on-axis arrow, zero arrow — and every one behaves. Same rotation as a matrix, four numbers instead of nine.
See also: Quaternion algebra & Hamilton product · Euler angles & gimbal lock · Spacecraft attitude determination (GNC) · Angular velocity & quaternion kinematics $\dot q=\tfrac12 q\omega$