← all study views

math viewlive 3D · minted from a sentence

Complex Functions

A complex function as a landscape: height is log|f(z)|, colour is the phase, so zeros sink into pits, poles erupt into spikes, and the whole behaviour of f is readable as terrain you can orbit.

the worlddrag to orbit · scroll to zoom

the real artifact, live — not a videoopen it full-page →

the study

The idea

A function of a complex variable takes a point in the plane to another point in the plane, which is four real dimensions of information — too many for one graph. Domain colouring is the standard compromise: paint each input z with the output f(z), using hue for the phase (the angle of f) and brightness for the modulus (the size of f). This view lifts that flat picture into a surface. The height above each z is log|f(z)|, so where f is near zero the ground drops into a pit, and where f blows up it climbs to a spike. Colour stays the phase, swept once around the hue wheel per full turn of arg f.

The log makes the terrain honest at both extremes. Zeros and poles are symmetric features of a complex function — a pole of f is a zero of 1/f — and taking the log sends them to equal-and-opposite depths instead of squashing every zero into an invisible dent under an enormous spike.

The colour carries the sharpest information. Walk a small loop around a simple zero and the hue wheel goes round exactly once. Around a zero of order two it goes round twice; around a pole it goes round the other way. That winding count is the order of the zero or pole, and it is the local form of the argument principle, the theorem that counts a function's zeros and poles by how many times its phase winds around a contour.

What to look for

  • In the default 'square' scenario, orbit the pit at the origin and count the hue wheel: it turns twice on a single circuit, because z² has a double zero there.
  • Switch to 'reciprocal' and the pit becomes a spike. Trace the same circuit and the colours run in the opposite order — a pole winds the phase backwards.
  • 'rational' puts two pits at z = ±1 and two spikes at z = ±i on one landscape. Every feature of (z² − 1)/(z² + 1) is visible at once, with the terrain flattening toward a constant height far out because the function tends to 1.
  • 'exp' has no zeros and no poles. The height is a plain ramp (log|eᶻ| is just the real part of z) and the phase shows as horizontal colour bands that repeat every 2π — the periodicity of the exponential, standing on its side.
  • Use the 'top' camera to collapse the surface back into a classic domain-colouring plot, then tilt back out and watch which parts of that flat picture were pits and which were peaks.

Getting it right

  • Height is log|f|, not |f|. A pit of depth −2 and a spike of height 2 are the same feature inverted, and the terrain near a pole is genuinely unbounded; the render can only show so much of the spike.
  • Hue is not a heat map. Red is not "large" and blue is not "small"; the colour is an angle, and the only thing that means anything is how it cycles.
  • Analytic functions cannot have a local peak in |f| away from a pole. Every hill on this terrain either runs off to a pole or off to infinity, which is the maximum modulus principle read as geology.
  • The Möbius scenario (z − 1)/(z + 1) looks like a single pit and a single spike, and that is the whole function: a Möbius transformation has at most one zero and one pole, and it maps circles to circles.

Turn the knobs

  • scenario picks the function: 'square', 'reciprocal', 'rational', 'exp', 'mobius'. Compare 'square' and 'reciprocal' first — a zero and a pole at the same point, same colours, opposite winding and opposite height.
  • Count windings on 'rational' at each of the four features and check the total: two zeros winding forward and two poles winding backward net to zero, which is why the far field is a single flat colour.
  • scale resizes the landscape; the shape of the terrain is the function and does not change.

the knobs

The world above is one recipe — every knob below is a parameter of it. In a mojulo workshop you rarely touch them directly: you ask your agent in a sentence, and the agent sets the knobs.

parameter manual
  • scenario (string) — Which function (default 'square'): 'square' (z², double zero — phase wheel twice), 'reciprocal' (1/z, a pole at the origin), 'rational' ((z²−1)/(z²+1), zeros at ±1 and poles at ±i together), 'exp' (eᶻ, modulus ramps, phase = colour bands), 'mobius' ((z−1)/(z+1)).
  • scale (number) — Overall size multiplier (default 1).

more study views