Rotation Matrices
Also known as: SO(2)/SO(3) matrices · Orthogonal rotation · Direction cosine matrix
A rotation keeps lengths and angles fixed and the origin put — so its columns must be perpendicular unit vectors. In 2D those columns are (cosθ, sinθ) and its 90°-turned partner, giving the familiar cosine–sine block.
A ring of points (count and radius slider-controlled) is rotated by an angle that advances with time plus the slider offset. Each point sweeps a circular arc while a trailing ghost shows the original positions, making it obvious that distances from the origin never change. The rotation matrix is printed live.
Equivalent forms
Composition of rotations is addition of angles — the matrix product R(α)R(β)=R(α+β) turns geometry into arithmetic.
Unit systems
Where it holds
Dimensional analysis
Euler's rotation theorem (1775) showed any 3D orientation is a single rotation about some axis. The matrix form and the group SO(3) matured in the 19th century; today rotations underpin robotics, graphics, spacecraft attitude, and the theory of angular momentum in quantum mechanics.
How does a game engine spin a spaceship, or a robot arm know where its hand is? One compact matrix rotates every point of space by the same angle at once — rigidly, reversibly, without ever stretching.
Turn the angle dial and watch a whole cloud of points swing around the origin together, each keeping its distance from the center.
- 3D graphics and game engines
- Robot kinematics and CNC machining
- Spacecraft and drone attitude control
- Angular-momentum operators in quantum mechanics
- 3D rotations commute — they don't; order matters (unlike 2D).
- A rotation can change a vector's length — it can't; that's the defining property.
- is automatic for orthogonal matrices — reflections are orthogonal with .
Limiting cases
What if…
It's an improper rotation — a rotation combined with a reflection, which reverses chirality.
Use Rodrigues' formula or an axis-angle/quaternion; three angles (Euler angles) parameterize SO(3).
Rotate (1,0) by 90°
- v:
- (1,0)
- \theta:
- ,
- ,-1],[1,0]]
- R(1,,1)
Compose two rotations
- \alpha:
- \beta: