Skip to content

Cheatsheet: Deriving the 3D cross product

v × w is a 3D vector (not a number) with three properties:

PropertyValue
DirectionPerpendicular to both v and w
LengthArea of the parallelogram v and w span (`
SignRight-hand rule (curl fingers v to w, thumb points along v × w)
  1. Fix v, w. Define f(p) = signed volume of [p, v, w] = det([p | v | w]). (3D determinant = signed volume, the 3D version of det = signed area.)
  2. f is linear in p (determinant is linear in each column).
  3. Duality (from the dot-product lesson, one dimension up): every linear function from 3D to a number is u · p for a unique vector u.
  4. So there is a u with u · p = det([p | v | w]) for all p. That u is v × w.
  5. Expand the determinant, match to u · p, read off the components.
v × w = [ v_y·w_z - v_z·w_y , v_z·w_x - v_x·w_z , v_x·w_y - v_y·w_x ]

Each component is a 2x2 cofactor of det([p | v | w]). Reconstruct it any time from “the vector whose dot with p gives the volume.”

  • Perpendicular: u · v = volume of [v, v, w] = 0 (a box with a repeated edge is flat). Same for w.
  • Length = area: with p a unit vector along u, the box is a height-1 prism on the parallelogram base, so |u| = base area.
  • Right-hand rule: from the signed-volume convention.
Cross productComponentsCheck
[1,0,0] × [0,1,0][0, 0, 1] = k-hatright-hand rule: x to y gives z
[0,1,0] × [1,0,0][0, 0, -1] = -k-hatanti-commutative (swapped)
[1,2,3] × [4,5,6][-3, 6, -3]·[1,2,3]=0, ·[4,5,6]=0 (perp)
[2,0,0] × [0,3,0][0, 0, 6]length 6 = area of 2x3 rectangle

Still anti-commutative: v × w = -(w × v).

Less central than the dot product. Physics-informed neural networks (fluid, electromagnetism), 3D geometric deep learning (meshes, point clouds), robotics (torque, angular velocity), quaternion rotations in 3D pose estimation. The bigger takeaway is the method: duality manufacturing a vector from a volume function, a pattern that recurs throughout the math under ML.

  • Memorizing the criss-cross. Reconstruct it from the volume definition instead.
  • Forgetting it is a vector. 2D cross product = number; 3D cross product = vector.
  • Mixing up order. Anti-commutative: swapping flips the perpendicular direction.
  • Treating perpendicularity as a separate rule. It is forced: a box with a repeated edge has zero volume.

The 3D cross product is the unique vector whose dot with any p gives the volume of the box p makes with v and w, and that definition hands you the formula and all three properties for free.