HomeMathematicsPoincaré Index Theorem: Vector Fields on a Disk (2D)

Poincaré Index Theorem: Vector Fields on a Disk (2D)

Interactive 2D companion to the Hairy Ball theorem: a gradient vector field lives on a flat disk instead of a sphere, its interior zeros are found numerically and classified by their Hessian, and their index sum is checked live against the winding number of the field measured directly around the disk's boundary — the planar Poincaré index theorem in action.

Mathematics2DAdvanced60 FPS📱 Mobile-adapted⇄ 3D version
2d-topology ↗ Open standalone

This 2D companion to the Hairy Ball theorem trades the closed sphere for a flat disk with a boundary, which changes the underlying rule: a tangent field on a disk is allowed to have no interior zeros at all, provided it "does the right thing" on the rim. The simulator renders a real 2D gradient field as an arrow grid, numerically finds every interior singularity via a grid search refined with Newton's method, and classifies each by the sign of its local Hessian determinant exactly as the 3D version does on the sphere. Independently, it walks the field's direction all the way around the boundary circle and integrates the total angle turned — the winding number. Distorting the field with the Twist slider sweeps three saddle points in from outside the boundary to inside it, changing the interior index sum by −3 the instant they cross — and the boundary winding number, computed by a completely different method, jumps by exactly the same amount at exactly the same moment, a live numerical check of the planar Poincaré index theorem.

⚙ Under the hood

Interactive 2D companion to the Hairy Ball theorem: a real gradient vector field lives on a flat disk instead of a sphere, its interior zeros are found numerically via grid search plus Newton's method and classified by their Hessian, and their index sum is checked live against the winding number of the field measured directly around the disk's boundary — the planar Poincaré index theorem, computed by two independent methods that always agree.

topologyvector-fieldpoincare-index-theoremdifferential-geometrywinding-number

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)