在兩條線中找出交叉點。
概念
兩個點會形成一條線,所以一個線段會有兩個點。在一個平面上畫兩條線,要如何知道這兩條線是否有交叉,且交叉點的座標又是多少?首先要知道斜率,只有當這兩條線的斜率不同時,才會發生交叉。
再來要知道斜率的兩個公式:
公式1:m = dy / dxm表示斜率
dy表示第一個點的y座標減去第二個點的y座標。dx則是x座標相減。
公式2:y = m * x + bb表示y軸上的點
以上,把它們拿來玩來玩去你就會得到兩個東西:
- 兩個線段的斜率m1, m2:
所以你可以去判斷這兩個斜率是否相等,如果相等就表示它們永遠在平行線上,無法相愛了XD~~ - 兩個線段的交叉點座標:
這裡要一堆計算,
step1:拿斜率和線段的其中一個點套公式2去算出b
step2:使用公式2導出 x = (b2 - b1) / (m1 - m2) ->取得x座標
step3:使用公式2把算出的x座標放入,取得 y座標
看範例
2016/7/24 備註:Flash 即將消失,以上畫面可能無法顯示。
原始檔:Find_Intersection_Point.rar
請問有c#或java的範例嗎
回覆刪除