3D点位于2个3D点之间

时间:2012-07-20 23:55:42

标签: geometry line segment

我只是想知道如何确定给定的3D点是否位于由2个点给出的线上,并且它是否位于这2个点之间?

1 个答案:

答案 0 :(得分:6)

如果b-a,c-a是平行的,则点a,b,c是共线的(全部位于一条线上),如果叉积(b-a)x(c-a)为零,则为真。 (也就是说,它的所有三个组件都是零。你可能实际上应该允许它们非零但非常小;这应该意味着取决于你的应用程序。)

假设点a,b,c是共线的,则b位于a和c之间,如果标量乘积(b-a)。(c-b)是正的。 (非负面,如果b与a或c重合,则可以。)