Let\'s imagine we have a plane with some points on it. We also have a circle of given radius.
I need an algorithm that determines such position of the circle that it
At a first glance, I would say a quad tree solution.
Also, there is an information visualization/Data mining method called K-means which makes clusters of given data. It can be used with added functionality in the end to fit your purpose.
The basic algorithm for K-Means is:
The added functionality would then be:
Sources:
K-means algorithm - Linköping University
Quadtree - en.wikipedia.org/wiki/Quadtree
A quick search on wikipedia and you find source code: en.wikipedia.org/wiki/K-means_clustering
You could pixelize the whole area, then go to each point and increase the value of all pixels within the circle of the radius around that point. The pixels with the highest sum are good candidates.
Of course, you might lose some good areas or "hallucinate" good areas due to rounding errors. Perhaps you could try to do a rough pixellation first, then refine the promising areas.
Edited to better wording, as suggested :
Basic observations :
The algorithm is then:
This is the "disk partial covering problem" in the literature -- that should give you a good place to start googling. Here's a paper covering one possible solution, but it is a little intense mathematically: Approximation Algorithms Design for Disk Partial Covering Problem
As a matter of fact, this falls in the area called computational geometry, which is fascinating but can be hard to get a toehold in. There's a good overview by deBerg on various algorithms related to the subject.