public static float Dot(Vector v, Normal n) { if (v.HasNaNs() || n.HasNaNs()) throw new InvalidOperationException(); return v.x * n.x + v.y * n.y + v.z * n.z; }
public static float Dot(Normal n1, Normal n2) { if (n1.HasNaNs() || n2.HasNaNs()) throw new InvalidOperationException(); return n1.x * n2.x + n1.y * n2.y + n1.z * n2.z; }
public static float Dot(Normal n, Vector v) { if (n.HasNaNs() || v.HasNaNs()) throw new InvalidOperationException(); return n.x * v.x + n.y * v.y + n.z * v.z; }