我可以找到很多公式来计算两条斜线之间的距离。我想要计算在一个维度内两条线段之间的距离。
使用一堆 IF 语句很容易实现,但我想知道是否有更高效的数学公式。
例如1:
----L1x1-------L2x1-------L1x2------L2x2----------------------------
L1 = 线段1,L2 = 线段2;由于交点存在,距离为0。
例如2:
----L1x1-------L1x2-------L2x1------L2x2----------------------------
这里的距离是L2x1 - L1x2。
编辑:
唯一的假设是线段有序,即x2始终大于x1。
线段1可能在线段2的左侧、右侧、相等等。算法必须解决这个问题。
编辑2:
我必须在T-SQL(SQL Server 2008)中实现这个,我只需要逻辑...我可以写T-SQL。
编辑3:
如果一条线段是另一条线段的一部分,则距离为0。
----L1x1-------L2x1-------L2x2------L1x2----------------------------
线段2是线段1的一部分,因此它们的距离为0。
如果它们相交或接触,则距离为0。