# [R] minimum distance between line segments

From: Darcy Webber <darcy.webber_at_gmail.com>
Date: Wed, 09 Mar 2011 10:55:46 +1300

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.