Skip to content

Instantly share code, notes, and snippets.

View rpggio's full-sized avatar

Ryan P Smith rpggio

View GitHub Profile
@rpggio
rpggio / README.md
Last active August 29, 2015 13:58 — forked from mbostock/.block
Hex grid example

Click and drag above to paint red hexagons. A black outline will appear around contiguous clusters of red hexagons. This outline is constructed using topojson.mesh, part of the TopoJSON client API. A filter is specified so that the mesh only contains boundaries that separate filled hexagons from empty hexagons.

The hexagon grid itself is represented as TopoJSON, but is constructed on-the-fly in the browser. Since TopoJSON requires quantized coordinates, the hexagon grid is represented as integers, with each hexagon of dimensions 3×2. Then a custom projection is used to transform these irregular integer hexagons to normal hexagons of the desired size.