【笔记】 如何求直线交点(详细揭秘) 计算几何

这是一篇灌水博客。

定义一条射线有一个起始位置 \(\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}\),于是就做完了。

posted @ 2020-10-17 09:01  Imakf  阅读(4287)  评论(3编辑  收藏  举报