这是一篇灌水博客。
定义一条射线有一个起始位置 (oldsymbol p) 和一个方向向量 (oldsymbol d),记作 (<oldsymbol p,oldsymbol d>)
一条直线就可以表示为这条射线所在的直线。
一条线段也可以用这个形式表示。
一个半平面就可以表示为这条有向直线的左侧平面。
那么如何判断两条直线的交点呢?
例题一、给定两直线 (<oldsymbol p_1,oldsymbol d_1>,<oldsymbol p_2,oldsymbol d_2>),求出它们的交点坐标。
一个直观而又显而易见的做法是解直线方程——但这太麻烦了。除过来除过去还要特判分母是不是 (0)。
当初向计算几何引入向量就是为了避免这些麻烦的,我们不妨用向量来做。
设两直线分别过 (AB),(CD),如图所示:
由于交点 (E) 在直线 (CD) 上,根据高中数学可以知道,(vec {OE}=k vec{OC}+(1-k) vec{OD})。
其中 (k:1-k=|EC|:|ED|)。
显然 (|EC|:|ED|) 可以看成 (S_{ riangle ABD}:S_{ riangle ABC}),于是就做完了。