Algorithm 检查线段是否与从特定点绘制的垂直线相交?

Algorithm 检查线段是否与从特定点绘制的垂直线相交?,algorithm,vector,geometry,Algorithm,Vector,Geometry,如图所示: 我有一组线段。我想检查哪些线段与从给定点(x0,y0)绘制的垂直线相交 (例如:AB通过检查,BC未通过。) 我得到的唯一信息是线段的两点,(x1,y1),(x2,y2)和目标点(x0,y0) 有没有可能用这三点推导出一个简单的公式 提前谢谢 umanga对于直线AB和点X,两个角度ABX和BAX都必须是锐角(或右)。对于直线AB和点X,两个角度ABX和BAX都必须是锐角(或右)。作为背景,如果需要,您可以阅读其,尤其是 定义向量v0=(x0,y0)-(x1,y1)和v2=(x2,

如图所示:

我有一组线段。我想检查哪些线段与从给定点(x0,y0)绘制的垂直线相交

(例如:AB通过检查,BC未通过。)

我得到的唯一信息是线段的两点,(x1,y1),(x2,y2)和目标点(x0,y0)

有没有可能用这三点推导出一个简单的公式

提前谢谢


umanga

对于直线AB和点X,两个角度ABX和BAX都必须是锐角(或右)。

对于直线AB和点X,两个角度ABX和BAX都必须是锐角(或右)。

作为背景,如果需要,您可以阅读其,尤其是

定义向量v0=(x0,y0)-(x1,y1)和v2=(x2,y2)-(x1,y1)

那么交点就是

(x1,y1)+((v0v2)/(v2v2v2


如果标量值(v0v2)/(v2v2)介于0和1之间

作为背景,如果需要,您可以阅读,尤其是

定义向量v0=(x0,y0)-(x1,y1)和v2=(x2,y2)-(x1,y1)

那么交点就是

(x1,y1)+((v0v2)/(v2v2v2

如果标量值(v0v2)/(v2v2)介于0和1之间