I'm new to CS and being aware of what algorithms exist, but what data structure allows you to have fast lookups of single points within a distance in 3d?
e.g. (with 2d circles instead of 3d spheres)
I would expect the first location to return null, and the second one to return circle a.
Circles can not overlay, circles/spheres differ in radius.
I would assume this to be nearest neighbor, but maybe some optimizations can be made considering you are often outside the area?