bcd · DCEL explorer

Doubly connected edge list · decompose(polygon, angle, { dcel: true })
0°
Move the pointer over the drawing. Hover a face to walk its half-edge cycle via next, an edge to see its twin pair, a vertex to orbit it via twin→next.
–Half-edges
–Faces
–Boundary cycles
–V − E + F
Every undirected edge is two directed twins, each with its face on the left. Try plus (T-junctions) at 0°: the seams that a single cell carries as one edge are subdivided so each piece pairs exactly with its neighbour. Back to the main demo.