Loop (homotopy class fixed)
Punctures (poles)
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.
Poke n holes in a plane and the loops you can draw around them stop being simple curves — they become elements of a free group Fₙ, one generator per hole. This simulator renders 2-4 punctures as vertical poles and builds a real closed loop that winds around each of them a chosen number of times, in a chosen direction, computing its homotopy class as a reduced word (a²b⁻¹, for instance) directly from the sampled curve's winding numbers. An auto-deform mode continuously bends the loop in three dimensions — a genuine homotopy that never touches a puncture — while the winding numbers and word stay frozen, in sharp contrast to the loop's self-crossing count, which visibly changes shape-to-shape even though the topology never does.