Home▸Generative Art & Algorithmic Patterns▸2D Stippling & Pointillism — Image-Driven Weighted Voronoi

2D Stippling & Pointillism — Image-Driven Weighted Voronoi Relaxation

A genuine 2D stippling generator: real pixel luminance sampled from a source image or your own drawing drives weighted Voronoi relaxation (Lloyd's algorithm) so dots settle into an accurate stipple portrait on a flat canvas. Sketch your own source, pick a preset, and tune point count, dot size and contrast.

Generative Art & Algorithmic Patterns2DEasy60 FPS📱 Mobile-adapted⇄ 3D version
2d-stippling ↗ Open standalone

This simulator performs real weighted Voronoi stippling on a flat 2D canvas, driven by actual pixel luminance instead of an analytic formula. A source image — a built-in preset scene or a drawing you sketch yourself — is rasterised to an offscreen buffer and sampled with getImageData to build a density map. Points are seeded by rejection sampling from that map and then relaxed with Lloyd's algorithm: each iteration partitions the buffer into Voronoi cells around the current dots and nudges every dot toward the luminance-weighted centroid of its cell, so darker regions of the source end up densely packed with dots while lighter regions stay sparse. Tune the point count, dot size and contrast gamma, invert the tone mapping, or draw your own source image and watch it turn into stipple art in real time.

⚙ Under the hood

A genuine 2D stippling generator: real pixel luminance sampled from a source image or your own drawing drives weighted Voronoi relaxation (Lloyd's algorithm), so dots settle into an accurate stipple portrait purely from image data. Pick a preset scene or sketch your own source, then tune point count, dot size and contrast.

stipplingpointillismweighted voronoilloyd's algorithmimage luminancegenerative art2dcanvas 2d

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

What did you find?

Add reproduction steps (optional)