I am experimenting with ways to deal with overplotting in R, and one thing I want to try is to plot individual points but color them by the density of their neighborhood. In
I eventually found the precise function I was looking for: interp.surface from the fields package. From the help text:
interp.surface
Uses bilinear weights to interpolate values on a rectangular grid to arbitrary locations or to another grid.