4

I'm working on a problem which is to find the closest trio of neighbours for a set of arbitrarily placed non-intersecting ellipses. As a new user I'm not allowed to include image tags but I've included the URL at the bottom of the page as I always think I'm better able to explain myself with visual aids. The picture demonstrates what I mean with Apollonius circles connecting the 3 nearest ellipses to one another.

So far I have tried using the minimum distances between the ellipses and modifying Delaunay Triangulation, via incremental and sweepline methods, used various techniques involving in circles of triangles formed between every 3 ellipse configuration etc, and attempted to estimate the neighbours with bounding boxes, and have completely run out of ideas of how to actually get this working efficiently

Although I have worked out a solution it involves exhaustively searching and comparing every trio of ellipses with every other ellipse and has a time complexity of n(n-1)(n-2)/3!. And on top of that each calculation is done iteratively rather than algebraically.

Would anyone even have an idea of how to go about this that could be done algebraically and at lower then a n^2 time complexity?

Even a suggestion of a technique would suit me to have a try at, because right now I've been working at it for nearly 3 weeks and really am no closer to a decent answer.

Image

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
  • I answered this on MathOverflow [link](http://mathoverflow.net/questions/89677/nearest-trio-of-neighbours-for-non-intersecting-ellipses/89680#89680). It is as @zamazalotta says, but there is more to say. – Joseph O'Rourke Feb 27 '12 at 20:47

2 Answers2

3

If you calculate a Voronoi diagram for your ellipses, then your circles center points would be placed at the intersection of the diagrams.

http://ima.umn.edu/nuggets/voronoi.html

zamazalotta
  • 423
  • 1
  • 6
  • 11
0

You could pack your ellipses into an R-tree based on their bounding boxes. The R-tree is a binary-tree-like data structure for spatial objects, and supports efficient nearest-neighbour and kth nearsest neighbour queries via traversal.

For large data sets with many ellipses, use of an R-tree should reduce the number of distance tests significantly, only scanning a subset of the tree in the neighbourhood of the query.

Hope this helps.

Darren Engwirda
  • 6,915
  • 4
  • 26
  • 42
  • Darren, Thank you for your suggestion, I think I'm going to try to re-attempt computing the voronoi diagram as suggested by @Joseph O'Rourke (Math Overflow) as actually finding the vertex point associated with the trio would be my next step, so I would get the answer at the same time. Although if I can't get it to work, as I tried to before I posted on the forum, I shall defiantly attempt your suggestion, as after looking at it I do like the sound of it a lot due to the reduced number of distance searches; speed of the search is key for my work. Thank you again for you help. Ross. – Ross Walker Feb 28 '12 at 17:37