给出两条线段 (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)