Polynomial Phase Field

scroll to zoom · click to shuffle roots

Polynomial Phase Field

Take a polynomial p(z) of degree 100, where z ∈ ℂ. Now color every point z of the complex plane by the argument (the angle) of p(z).

The result has a beautiful property: the zeros of p are exactly the points where the full color cycle closes on itself.

Each of the 100 roots drifts slowly along its own tiny circular orbit. Individually, each root just wiggles. But the phase field is globally sensitive — a small displacement of a single root reshapes the color flow far away from it, because arg(p(z)) is a sum of contributions from every root.

This is a GPU-accelerated re-implementation as a real-time WebGL shader. Scroll to zoom into the fractal vein structure. Click anywhere to gently shuffle the root positions and watch the entire field reorganize.

Inspired by Simone Conradi, Ph.D. — originally made with numpy + matplotlib in a marimo notebook.
Re-implemented as a real-time shader by GenieForge.