我的问题很简单,但到目前为止我还没有能够解决它。 假设我有一条线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的位置如何,距离总是正的。