2014-07-01 110 views
0

我有兩個線段。每個段可以是垂直或水平(0°,90°,180°,270°)。我需要找到這兩個部分的交點。如果兩段都是垂直或水平的,我還需要計算交點。謝謝。計算兩個線段的交點

enter image description here

+5

「如果兩個線段都平行,我需要計算交點」??? –

+0

因此,忽略你的有趣需求(「找到兩條平行線的交點」),你有'x = x_0'和'y = y_0'的線,你想知道如何找到交點'(x_0,y_0)'? ...我沒有看到任何未解決的問題 –

+2

僅當線條共線時,平行線纔可能相交。在這種情況下可以有多個交點。 – cegprakash

回答

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在結尾處保持爲空,則表示這些線是平行的,因此不存在交集。 (如果線條平行,相同的變量將會變化)

+0

這些是段,而不是線。它們之間可能有0個交點(並且很容易檢查它是否確實如此) – amit

+0

添加了該部分。沒有提到這是一個微不足道的案例。希望這是有道理的 – haraprasadj