Skip to main content
100%

Polygon collision with d3.forceSimulation

✓ Published0🌍 Public
AAjayyy
Last edited Jun 29, 2018
Created on Jun 29, 2018

Three colored clusters of circles float inside a static black-and-gray polygon layout, each cluster confined to its own triangular slice of the SVG canvas. The circles are positioned using `d3.forceSimulation` with a custom `forceCollidePolygon` that checks segment intersections to keep nodes inside the polygon boundaries, paired with `d3.forceCollide` to prevent circle overlap. Data is randomly generated for 55 nodes per cluster, and the polygon vertices are defined procedurally based on canvas dimensions. Rendering uses SVG elements and styles, with each cluster assigned a distinct stroke color (red, steelblue, orange).

AI-generated description

This block is inspired by this other block and d3 forceCollide. It also uses a segment crossing function posted on this stackoverflow question.

However I think the repositionning of nodes can be improved so if you do that please let me know!

Built with blockbuilder.org

forked from <a href='http://bl.ocks.org/pbellon/'>pbellon</a>'s block: <a href='http://bl.ocks.org/pbellon/4b875d2ab7019c0029b636523b34e074'>Polygon collision with d3.forceSimulation</a>

mit Licensed

Similar vizzes