The idea: turn the whole plane about the origin

A rotation turns every point of the plane about the origin by the same angle θ, counter-clockwise when θ is positive. It is a linear map, so a 2×2 matrix describes it, and like every matrix its columns are simply where î = (1, 0) and ĵ = (0, 1) land:

R(θ) = [cos θ  −sin θ;  sin θ  cos θ]

The unit circle with î = (1, 0) turned by θ to (cos θ, sin θ) in red and ĵ = (0, 1) turned to (−sin θ, cos θ) in green; dashed legs show cos θ and sin θ, and the two columns of the matrix are written beside the circle in the same colours
Turn î by θ and it lands at (cos θ, sin θ); ĵ lands a quarter turn further, at (−sin θ, cos θ). Those are the two columns.

The columns live on the unit circle

î has length 1, so after a turn by θ it is the point of the unit circle at angle θ: (cos θ, sin θ). That is column 1. ĵ starts 90° further round, so it lands at angle θ + 90°: (cos(θ + 90°), sin(θ + 90°)) = (−sin θ, cos θ). That is column 2. The minus sign sits top right because turning ĵ left moves it into negative x. (Demo 1: rotate 90° (î → ĵ, ĵ → −î), where R(90°) = [0 −1; 1 0].)

For the common angles the entries are exact:

θcos θsin θR(θ)
0°10[1 0; 0 1] = I
30°√3/2½[√3/2 −½; ½ √3/2]
45°√2/2√2/2[√2/2 −√2/2; √2/2 √2/2]
60°½√3/2[½ −√3/2; √3/2 ½]
90°01[0 −1; 1 0]
180°−10[−1 0; 0 −1] = −I

The canvas only offers multiples of 30° and 45°, so every number it shows is exact; decimals appear only as a "≈" next to them. (Demo 2: 45°, exact values √2/2)

Every point moves on a circle

To rotate a point v = (x, y), multiply row by row:

x' = cos θ·x − sin θ·y,   y' = sin θ·x + cos θ·y.

For θ = 45° and v = (2, 1): x' = √2/2·2 − √2/2·1 = √2/2 ≈ 0.71 and y' = √2/2·2 + √2/2·1 = 3√2/2 ≈ 2.12. Check the length: (√2/2)² + (3√2/2)² = ½ + 9/2 = 5, the same as 2² + 1² = 5. A rotation moves v along the circle of radius |v| about the origin; it never brings it closer or pushes it away. The canvas draws that circle in light purple and the arc v travels in dark purple. (Demo 3: every point moves on a circle)

What a rotation keeps

propertykept?why
lengths✓|Rv|² = (cos θ·x − sin θ·y)² + (sin θ·x + cos θ·y)² = x² + y²
angles between vectors✓dot products are kept: (Ru)·(Rv) = u·v
area✓det R = cos²θ + sin²θ = 1
orientation✓det > 0: the F is turned, never mirrored
lines through the origin✓true for every linear map
any single direction✗every direction turns (unless θ = 0° or 180°)

A matrix that keeps lengths and angles is called orthogonal; one that also has det = +1 is a rotation. A reflection is orthogonal too, but with det = −1: it flips the F (see Reflection Matrix).

The inverse is the transpose: R⁻¹ = R(−θ) = Rᵀ

To undo a turn by θ, turn by −θ. Since cos(−θ) = cos θ and sin(−θ) = −sin θ,

R(−θ) = [cos θ  sin θ;  −sin θ  cos θ] = R(θ)T:

the same matrix with the two off-diagonal entries swapped. No 1/det is needed, because det = 1. The reason is that the columns of R are unit vectors at right angles, so RᵀR = I. (Demo 4: inverse, rotate back by −θ (Rᵀ))

R(60°) = [½ −√3/2; √3/2 ½] on the left and its transpose [½ √3/2; −√3/2 ½] = R(−60°) on the right, with orange arrows showing the two off-diagonal entries trading places, and the product R(−60°)·R(60°) = I underneath
Swap the two entries off the diagonal and R(60°) becomes R(−60°), its inverse.

Two rotations add their angles

Turn by α, then by β, and you have turned by α + β. In matrices, R(β)·R(α) = R(α + β). Multiplying the first row of R(β) by the first column of R(α) gives cos β cos α − sin β sin α = cos(α + β): the sum formulas of trigonometry are exactly this matrix product. For example R(60°)·R(30°) = R(90°) = [0 −1; 1 0]. (Demo 5: two rotations add, 30° then 60° = 90°) Plane rotations about the origin also commute: R(α)R(β) = R(β)R(α).

A vector turned first by 30° and then by 60° ends where a single 90° turn puts it, with the two arcs drawn on its circle; beside it the matrix product R(60°)·R(30°) = R(90°) = [0 −1; 1 0]
30° then 60° is 90°: multiplying rotation matrices adds their angles.

The same happens with complex numbers: multiplying by eiθ = cos θ + i sin θ turns a point by θ, and eiα·eiβ = ei(α + β). The matrix of "multiply by a + bi" is [a −b; b a], so R(θ) is multiplication by cos θ + i sin θ.

No real eigenvector (except 0° and 180°)

An eigenvector keeps its direction: Rv = λv. A turn by 30° or 90° moves every direction, so it has none. The characteristic equation λ² − 2cos θ·λ + 1 = 0 has the complex roots λ = cos θ ± i sin θ = e±iθ, which are real only when sin θ = 0:

  • θ = 0° (or 360°): R = I, λ = 1, and every vector is an eigenvector.
  • θ = 180°: R = −I, λ = −1. Every vector v goes to −v, so again every vector is an eigenvector. (Demo 6: 180°, R = −I, every vector flips)

A half turn looks like a mirror image but is not one: the F ends upside down, yet still reads the right way round, and det = (−1)(−1) = +1.

See also Linear Transformations for the overview (columns, change of basis, singular maps) and the other four pages of the family: Reflection Matrix, Scaling Matrix, Shear Matrix and Projection Matrix. Related: the unit circle and trigonometry, Determinant, Matrix Multiplication, Vectors and the Dot Product and Rotate and Scale 2D.

What the page leaves out

Rotation about a point other than the origin (translate, rotate, translate back; it is affine, not linear, and needs 3×3 homogeneous coordinates). Rotations in 3D (an axis plus an angle, Euler angles, quaternions), where turns no longer commute. Angles that are not multiples of 30° or 45° (the matrix is the same, only the numbers are decimals). The rotation group SO(2) and orthogonal matrices in general, the Givens rotations used to zero entries in numerical linear algebra, and how computer graphics stores a turn as cos θ and sin θ to avoid repeated trigonometry.