I have about 100-1000 points in a 2D coordinate system. When the user zooms out I need to cluster nearby points to show fewer larger points, preferably centered around the middle point of each cluster.
I suspect that there exists some nifty mathematical trick to make this efficient.