Mirrors doing the drawing for you
A real kaleidoscope, patented by Scottish physicist David Brewster in 1817, is nothing more than two or three mirrors set at an angle inside a tube, reflecting loose coloured fragments at the far end. Because the mirrors are angled, a single fragment is reflected multiple times, and those reflections line up into a pattern with rotational symmetry — turn the whole pattern by a fixed angle and it looks identical to how it started.
This simulation reproduces that geometry directly instead of physically bouncing light: draw with the mouse in one wedge-shaped sector, and the same stroke is redrawn, rotated and mirrored, into every other sector around the centre. Choosing "6-fold" symmetry, for instance, divides the circle into six 60° wedges; a line you draw in one wedge is copied into the other five at the same radius and angle offset by multiples of 60°, and each copy is often mirrored as well so that opposite wedges are flipped reflections rather than plain rotations.
The maths of N-fold symmetry
For an N-fold pattern, every point you draw at angle θ and distance r from the centre gets copied to N−1 additional angles:
for k in 0 .. N-1:
angle_k = θ + k * (360° / N)
plot(r, angle_k) // rotation copy
if mirror_enabled:
plot(r, -angle_k) // mirrored reflection copy
This is exactly the mathematics of a cyclic or dihedral symmetry group — the same classification mathematicians use for wallpaper patterns, snowflakes and rosette window designs. Cyclic symmetry (rotation only) gives pinwheel-like patterns; dihedral symmetry (rotation plus mirroring) gives the classic kaleidoscope look, because it adds an axis of reflection through every wedge boundary, doubling the effective number of copies for the same N.
Why higher N looks calmer, not busier
A single stroke near the centre, at low N such as 3-fold, produces a bold, sparse, triangular pattern because there are only three copies spread across large 120° wedges. At high N such as 12-fold, the same stroke produces twelve tightly packed copies in narrow 30° wedges, and the eye tends to blend them into a smooth, lace-like ring rather than reading them as separate strokes — the more copies packed into a full turn, the finer and more continuous the resulting texture looks, even though the underlying rule (copy-and-rotate) never changes.
Frequently asked questions
How does a real, physical kaleidoscope create its pattern?
Two or three mirrors are fixed at an angle inside a tube. Light bounces between them multiple times before reaching your eye, and because the mirrors are angled at a fraction of 360°, those reflections line up into a pattern with rotational (and often mirror) symmetry around the centre.
What's the difference between the rotation and mirror options?
Rotation alone (cyclic symmetry) copies your stroke around the circle at equal angle steps, giving pinwheel-style patterns. Adding mirroring (dihedral symmetry) also reflects each copy across the wedge boundary, which is what produces the classic kaleidoscope look with an axis of symmetry through every segment.
Why do more sectors (like 12-fold) look smoother than fewer (like 3-fold)?
With more sectors, each wedge is narrower, so a single stroke is copied more times into a smaller angular space. The eye tends to merge many closely-spaced copies into a continuous, lace-like texture, while a low sector count leaves large, visually separate reflected shapes.
Try it live
Everything above runs in your browser — open Kaleidoscope and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.
▶ Open Kaleidoscope simulation