问题:已知三维空间中四点A、B、C、D,如何知道四个点是否在同一个平面呢
首先我们知道三点确定一个平面,所以可以由上面四个点其中任意三点组成一个平面p(A,B,C),另外一个点和三个任意点的形成线(DB)如果p的法线和DB垂直则四个点在一个平面
Vector3 ab = b - a;
Vector3 ca = a - c;
Vector3 cd = d - c;
Vector3 v1 = Vector3.Cross(ca, ab);
//相互垂直等于0
if (Vector3.Dot(v1, cd) != 0)
{
// 不共面
return false;
}