找出交叉點 Intersection

ActionScript - Intersection

在兩條線中找出交叉點。

概念

兩個點會形成一條線,所以一個線段會有兩個點。在一個平面上畫兩條線,要如何知道這兩條線是否有交叉,且交叉點的座標又是多少?

首先要知道斜率,只有當這兩條線的斜率不同時,才會發生交叉。

再來要知道斜率的兩個公式:
公式1:m = dy / dx
m表示斜率
dy表示第一個點的y座標減去第二個點的y座標。dx則是x座標相減。
公式2:y = m * x + b
b表示y軸上的點

以上,把它們拿來玩來玩去你就會得到兩個東西:
  1. 兩個線段的斜率m1, m2:
    所以你可以去判斷這兩個斜率是否相等,如果相等就表示它們永遠在平行線上,無法相愛了XD~~
  2. 兩個線段的交叉點座標:
    這裡要一堆計算,
    step1:拿斜率和線段的其中一個點套公式2去算出b
    step2:使用公式2導出 x = (b2 - b1) / (m1 - m2) ->取得x座標
    step3:使用公式2把算出的x座標放入,取得 y座標

看範例

2016/7/24 備註:Flash 即將消失,以上畫面可能無法顯示。
原始檔:Find_Intersection_Point.rar
本文網址:http://blog.tonycube.com/2009/12/intersection.html
Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀

1 則留言

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。