确定点是否在3D的线的左侧或右侧

时间:2015-11-09 01:48:56

标签: math geometry

我的问题很简单,但到目前为止我还没有能够解决它。 假设我有一条线l(由两个3维点p1和p2定义)和一个点p3。所有点都在同一个任意方向的平面上。该线的起点位于p1,向前移动p2。平面法线是任意的但是固定的。 我现在的问题是:我如何确定p3是在线的左侧还是右侧? 我唯一的想法是计算p3到该线的符号距离:

        Vector3D p1 = new Vector3D(4, 1, 0);
        Vector3D p2 = new Vector3D(2, 2, 0);
        Vector3D p3 = new Vector3D(4, 2, 0);

        double n = (p1 - p2).Cross(p1 - p3).Length();
        double d = (p3 - p2).Length();
        double dis = n/d;

但这对我没有帮助,因为无论p3的位置如何,距离总是正的。

0 个答案:

没有答案