如此图所示:
我有一组线段。我想检查哪些线段与从给定点(x0,y0)绘制的垂直线相交。
(例如:AB通过检查,BC没有。)
我得到的唯一信息是线段的两个点,(x1,y1),(x2,y2)和目标点(x0,y0)。
是否可以使用这三点推导出一个简单的公式?
提前致谢。
umanga
答案 0 :(得分:4)
作为背景,如果您需要,可以阅读dot product,geometric interpretation,特别是scalar projection。
定义向量 v0 =(x0,y0) - (x1,y1)和 v2 =(x2,y2) - (x1,y1)。
然后交点是
(x1,y1)+(( v0 ⋅ v2 )/( v2 ⋅ v2 ))的 V2 强>
如果标量值( v0 ⋅ v2 )/( v2 ⋅ v2,则交点将位于线段上)介于0和1之间。
答案 1 :(得分:1)
对于AB线和X线,两个角度ABX和BAX必须是锐角(或右侧)。