這是一篇灌水博客。
定義一條射線有一個起始位置 \(\boldsymbol p\) 和一個方向向量 \(\boldsymbol d\),記作 \(<\boldsymbol p,\boldsymbol d>\)
一條直線就可以表示為這條射線所在的直線。
一條線段也可以用這個形式表示。
一個半平面就可以表示為這條有向直線的左側平面。
那么如何判斷兩條直線的交點呢?
例題一、給定兩直線 \(<\boldsymbol p_1,\boldsymbol d_1>,<\boldsymbol p_2,\boldsymbol d_2>\),求出它們的交點坐標。
一個直觀而又顯而易見的做法是解直線方程——但這太麻煩了。除過來除過去還要特判分母是不是 \(0\)。
當初向計算幾何引入向量就是為了避免這些麻煩的,我們不妨用向量來做。
設兩直線分別過 \(AB\),\(CD\),如圖所示:

由於交點 \(E\) 在直線 \(CD\) 上,根據高中數學可以知道,\(\vec {OE}=k \vec{OC}+(1-k) \vec{OD}\)。
其中 \(k:1-k=|EC|:|ED|\)。
顯然 \(|EC|:|ED|\) 可以看成 \(S_{\triangle ABD}:S_{\triangle ABC}\),於是就做完了。
