Complex Function Plotter

Visualize complex functions f(z) = u(x,y) + i v(x,y). Hue = arg(f(z)), Lightness = log|f(z)|. Hover to inspect values.

|c| = —, arg(c) = — rad
Famous c values:
Quick presets:
exp(z)
sin(z)
Möbius
1/z
Log(z)
z² + (0.3+0.5i)
Hue = arg(f(z))
Lightness = log|f(z)|
Hover over canvas
z = x + iy :
f(z) = u+iv :
|f(z)| =    arg(f(z)) = rad
Precision & limitations: Double-precision arithmetic. Poles (e.g., 1/z at z=0) appear as bright white. Branch cuts (e.g., Log(z) along negative real axis) show as sharp color jumps. All calculations run locally in your browser — no data is sent to any server.

Understanding Complex Functions with Domain Coloring

A complex function f: ℂ → ℂ maps each input z = x+iy to an output w = u(x,y)+i v(x,y). Domain coloring encodes hue as the argument (phase) of f(z) and lightness as the magnitude (modulus). Zeros appear as dark spots, poles as bright white, and branch cuts as sharp hue transitions.

If f(z) = re, then
Hue = θ mod 2π   |   Lightness = L(log₂(1+r))

How to use

  1. Pick a function from the dropdown (polynomials, exp, sin, Möbius, quadratic family).
  2. For f(z) = z² + c, adjust the complex parameter c and see |c|, arg(c) update live.
  3. You can also change the visible range (X min, X max, Y min, Y max) to zoom into interesting regions.
  4. Click Render (or change any parameter) to refresh the plot.
  5. Hover anywhere on the canvas to see the corresponding z and f(z) values, plus a dynamic crosshair.

Mathematical foundations

Domain coloring reveals zeros (dark spots with full colour cycles), poles (bright white), and conformality (smooth gradients). The quadratic map z² + c is central to Julia set theory – changing c drastically modifies the mapping geometry.

Function f(z)Visual signatureKey features
Double color cycle around originZero at origin, conformal except at 0
exp(z)Horizontal stripes of constant huePeriodic in imaginary direction, never zero
sin(z)Hyperbolic pattern, zeros on real axisUnbounded, periodic
(z-1)/(z+1)Maps right half-plane to unit diskConformal, maps circles/lines to circles/lines
Log(z)Spiral discontinuity along negative real axisBranch cut, multivalued nature visible
Case study: Quadratic map z² + c

For c = 0.3+0.5i, the function distorts the plane in a way that prefigures Julia set dynamics. Try c = -0.8 + 0.156i to see intricate spiral patterns resembling Julia set boundaries.

Exploration tip: For Möbius transform, hover over the unit circle and see how interior points map to the left half‑plane. For 1/z, note the white pole at origin.

Frequently Asked Questions

HSL: hue = (arg(f(z)) + π)/(2π) * 360°, saturation 85%, lightness = 0.3 + 0.6*(1 - 1/(1+0.8*log₁₀(1+|f|))). Zeros → dark, poles → bright white.

Log(z) has a branch cut along the negative real axis; the hue jumps where the argument crosses the cut – a correct feature of the principal branch.

By default both real and imaginary axes range from -2.2 to 2.2, but you can now adjust the range interactively.

Trusted mathematical visualization — Built on rigorous complex analysis principles (Wegert, Needham). Algorithm uses pixel‑wise evaluation with double precision. Reviewed May 2026.

References: Wegert, E. (2012). Visual Complex Functions. Birkhäuser; Wolfram MathWorld: Domain Coloring.