public SubtractedBy ( |
||
b | ||
return |
public Vector3D SubtractedBy(Vector3D b)
{
Vector3D subtracted = new Vector3D (this);
subtracted.Subtract (b);
return subtracted;
}
public static Plane BuildFromVertices(Vector3D a, Vector3D b, Vector3D c) { Plane p = new Plane (); Vector3D edgeA = c.SubtractedBy (a); Vector3D edgeB = b.SubtractedBy (a); Vector3D cross = edgeA.Cross (edgeB); // !! Important: inverted to be valid in left-handed space // TODO: make this work in either handed-ness automatically cross.Invert(); p.Normal = cross.Normalized(); p.D = p.Normal.Dot (a); return p; }