我正在尝试获取一组 3D 点和一个平面,并根据它们在平面的哪一侧将这些点分成 2 个数组。在我开始大量调试之前,我想发布我计划做的事情,以确保我对如何做到这一点的理解能够奏效。
基本上我有 3 个点的飞机,我使用(伪代码):
var v1 = new vector(plane.b.x-plane.a.x, plane.b.y-plane.a.y, plane.b.z-plane.a.z);
var v2 = new vector(plane.c.x-plane.a.x, plane.c.y-plane.a.y, plane.c.z-plane.a.z);
我取这两个向量的叉积来得到法线向量。
然后我遍历我的点数组并将它们转换为向量并根据法线计算点积。
然后我使用点积来确定点所在的一侧。
这听起来可行吗?