计算两个段的交集

时间:2014-07-01 13:49:25

标签: algorithm intersection

我有两段。每个段都是垂直或水平(0°,90°,180°,270°)。我需要找到这两个段的交点。如果两个段都是垂直或水平的,我还需要计算交点。谢谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

有2个点P1 [(x1,y1),(x2,y2)]和P2 [(x1,y1),(x2,y2)]。

由于这些线是水平线或垂直线,一条线将具有x常数,另一条线具有y常数。

因此,对于每个点,检查x1 = x2是否为真,使得x = x1。类似地,如果y1 = y2,则使y = y2。 (x,y)是你的交点。

如果x或y在结尾处保持为空,则表示线是平行的,因此没有交叉。 (如果行是平行的,则相同的变量会有所不同)