[R] minimum distance between line segments

Darcy Webber darcy.webber at gmail.com
Tue Mar 8 22:55:46 CET 2011


Dear R helpers,

I think that this may be a bit of a math question as the more I
consider it, the harder it seems. I am trying to come up with a way to
work out the minimum distance between line segments. For instance,
consider 20 random line segments:

x1 <- runif(20)
y1 <- runif(20)
x2 <- runif(20)
y2 <- runif(20)

plot(x1, y1, type = "n")
segments(x1, y1, x2, y2)

Inititally I thought the solution to this problem was to work out the
distance between midpoints (it quickly became apparent that this is
totally wrong when looking at the plot). So, I thought that perhaps
finding the minimum distance between each of the lines endpoints AND
their midpoints would be a good proxy for this, so I set up a loop
that uses pythagoras to work out these 9 distances and find the
minimum. But, this solution is obviously flawed as well (sometimes
lines actually intersect, sometimes the minimum distances are less
etc). Any help/dection on this one would be much appreciated.

Thanks in advance,
Darcy.



More information about the R-help mailing list