如图所示:
我有一组线段。我想检查哪些线段与从给定点 (x0,y0) 绘制的垂直线相交。
(例如:AB 通过了检查,而 BC 没有通过。)
我获得的唯一信息是线段的两个点,(x1,y1)、(x2,y2) 和目标点 (x0,y0)。
是否可以利用这三点推导出一个简单的公式?
提前致谢。
乌曼加
最佳答案
作为背景,如果需要,您可以阅读 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 之间。
关于algorithm - 检查线段是否与从特定点绘制的垂直线相交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508691/