By far the simplest of Voronoi algorithms is to paint pixels according to the color of their closest site. Such a shader will work with any definition of distance, weighted or not. Speed is awfully slow, in O(n*x*y)
. The results are pixels (canvas), not an abstract layout — we overlay it at the end.
See also Painting Manhattan-distance Voronoi.
https://d3js.org/d3.v4.min.js