连接两个线段

8 geometry

给定两个2D线段A和B,如何计算连接A和B的最短2D线段C的长度?

Alt*_*ife 7

考虑两个线段A和B,每个线段由两个点表示:

由A1(x,y),A2(x,y)表示的线A.

线B1由B1(x,y)B2(x,y)表示

首先使用此算法检查两条线是否相交.

如果它们相交,那么两条线之间的距离为零,并且连接它们的线段是交叉点.

如果它们不相交,请使用以下方法:http://paulbourke.net/geometry/pointlineplane/来计算以下之间的最短距离:

  1. 点A1和B线
  2. 点A2和线B.
  3. 点B1和线A.
  4. 点B2和线A.

这四个线段中最短的是你的答案.