I need to find all points within a given radius of a certain point in euclidean 2D and 3D spaces. The points are updated fairly often (but most commonly are just moved by a limited distance). The point distributions are likely to be very non-uniform in my application. There's a limit to the resolution I need, I'd rather trade resolution for performance (at least if I can over-estimate rather than under-estimate returned point sets).
I know I could use spatial hashed grids or quad/octrees for this. Unfortunately the Wikipedia article for fixed-radius near neighbor search is a stub, and googling gives me very specific results rather than an overview, so my quick rush to gain an overview ended there. ^^ I wonder if someone else has a better idea than spatial grids or oct/quadtrees - if you can give me names of algorithm/data structures that work in your experience, that will save me a couple of hours and I will be very happy.
Edit: Oh and if the data struture can be updated concurrently it's a plus.