一尘不染

查找点是否在线段上

algorithm

我有由两个点A(x1,y1,z1)和B(x2,y2,z2)和点p(x,y,z)定义的线段。如何检查点是否在线段上?


阅读 169

收藏
2020-07-28

共1个答案

一尘不染

如果该点 上线,则:

(x - x1) / (x2 - x1) = (y - y1) / (y2 - y1) = (z - z1) / (z2 - z1)

计算所有三个值,如果它们相同(在一定程度的公差范围内),则您的观点在线上。

要测试点是否在线段中,而不仅仅是在线上,可以检查

x1 < x < x2, assuming x1 < x2, or
y1 < y < y2, assuming y1 < y2, or
z1 < z < z2, assuming z1 < z2
2020-07-28