Comment by srean
3 hours ago
Curious about why you think he is using Euclidean.
From the looks of it the separators seem to be segments of great circles. That is what you would get as loci of angular bisectors.
Angular bisectors is what you would get when you use spherical geometry / arc length metric / Haversine metric.
You could still be right though. Euclidean would get you straight line bisectors, but when you project them back to the surface of the sphere, you get great circles again.
This connects with an important point (no pun intended):
People often use Haversine distance to find nearest neighbours on the globe. As long as you want to compute them modulo a hemisphere, this is unnecessary. Haversine distance and Euclidean restricted to the sphere are monotonic transforms of each other. Therefore the nearest point will be the same regardless of which one you used.
As soon as I saw the beautiful rendering I wondered if it was using spherical geometry so I asked an AI. It dug and found discussion on d3 from the author about the algorithm :)
https://github.com/d3/d3/issues/1820