线段求交
给出两条线段 (a_1, b_1), (a_2, b_2) 求交点坐标
\[vec\ a = b_1 - a_1
\]
\[vec\ b = b_2 - a_2
\]
线段 \((a_1, b_1)\) 上任意一点坐标可以表示为 \(a_1 + ta\)
同理 \((a_2, b_2)\) 上任意一点坐标可以表示为 \(a_a + ub\)
\(t, u\) 是一个系数
让两个线段方程相等
\[a_1 + ta = a_2 + ub
\]
同时叉乘 \(b\)
\[a_1b + tab = a_2b + ubb
\]
因为 \(bb = 0\)
\[tab = a_2b - a_1b
\]
\[t = \frac{(a_2 - a_1) b} {ab}
\]
交点点坐标就是 \(a_1 + ta\)