public Plane GetPlane()
{
if(_pointCount < 3)
{
return new Plane();
}
Vector3 center = this.Center;
Vector3 v = new Vector3(_points[0, 0], _points[0, 1], _points[0, 2]);
Vector3 v1 = v - center;
Vector3 v2 = new Vector3(_points[1, 0], _points[1, 1], _points[1, 2]) - center;
Plane plane = new Plane();
plane.Normal = Vector3.Cross(v2, v1);
plane.Normalize();
Vector3 tmp = plane.Normal * v;
plane.D = tmp.X + tmp.Y + tmp.Z;
return plane;
}