Visualization
Complex domain coloring.
A complex function f: ℂ → ℂ is hard to graph — its domain and codomain are both two-dimensional. Domain coloring solves this by coloring each point of the domain according to its image: the hue encodes arg f(z), the brightness encodes |f(z)|.
Domain coloring makes the topology of a complex function visible at a glance: zeros are points where all colors meet (dark spirals), poles are inverted spirals (bright), and the direction of the color wheel reveals whether a zero or pole is simple or higher-order.
Reading the picture
Every complex number has a polar form z = r · e^(iθ), where r = |z| is the modulus and θ = arg z is the argument. Domain coloring assigns a color to each complex value: the hue cycles through the rainbow as θ goes from 0 to 2π, and the brightness (or saturation) encodes the modulus, often with dark bands at powers of two to make the magnitude readable at a glance.
What you see
- Zeros: all colors converge — you see a dark spiral. The number of times the rainbow winds tells you the order of the zero.
- Poles: inverse spirals — a bright region with the color cycle reversed.
- Branch cuts: sharp discontinuities in color — where the function is multivalued and we've chosen one branch.
- Essential singularities: chaotic color patterns — every color appears in every neighbourhood (Casorati–Weierstrass).
Examples shown
The presets cover the classical pedagogical examples: z² (zero of order 2 at origin), z³ − 1 (three simple zeros at the cube roots of unity), 1/z (simple pole at origin), sin z (zeros at every multiple of π), a rational function with zero-pole pairs, and a partial sum of the Riemann zeta function showing its characteristic structure on the critical strip.