public static float AbsDot(Normal3D n1, Vector3D v2) { return(System.Math.Abs(Dot(n1, v2))); }
public static float Dot(Normal3D n1, Vector3D v2) { return((n1.X * v2.X) + (n1.Y * v2.Y) + (n1.Z * v2.Z)); }
public static float AbsDot(Vector3D v1, Normal3D n2) { return(System.Math.Abs(Dot(v1, n2))); }
public static Vector3D Cross(Normal3D v1, Vector3D v2) { return(new Vector3D((v1.Y * v2.Z) - (v1.Z * v2.Y), (v1.Z * v2.X) - (v1.X * v2.Z), (v1.X * v2.Y) - (v1.Y * v2.X))); }
public static float Dot(Vector3D v1, Normal3D n2) { return((v1.X * n2.X) + (v1.Y * n2.Y) + (v1.Z * n2.Z)); }
public static float Dot(Vector3D v1, Normal3D n2) { return (v1.X * n2.X) + (v1.Y * n2.Y) + (v1.Z * n2.Z); }
public static float Dot(Normal3D n1, Vector3D v2) { return (n1.X * v2.X) + (n1.Y * v2.Y) + (n1.Z * v2.Z); }
public static float AbsDot(Normal3D n1, Vector3D v2) { return System.Math.Abs(Dot(n1, v2)); }
public static Vector3D Cross(Normal3D v1, Vector3D v2) { return new Vector3D((v1.Y * v2.Z) - (v1.Z * v2.Y), (v1.Z * v2.X) - (v1.X * v2.Z), (v1.X * v2.Y) - (v1.Y * v2.X)); }
public static Normal3D Normalize(Normal3D v) { return v / v.Length(); }
public static float AbsDot(Vector3D v1, Normal3D n2) { return System.Math.Abs(Dot(v1, n2)); }
public static float Dot(Normal3D n1, Normal3D n2) { return (n1.X * n2.X) + (n1.Y * n2.Y) + (n1.Z * n2.Z); }
public static float AbsDot(Normal3D n1, Normal3D n2) { return System.Math.Abs(Dot(n1, n2)); }
public static Normal3D Normalize(Normal3D v) { return(v / v.Length()); }
public static float AbsDot(Normal3D n1, Normal3D n2) { return(System.Math.Abs(Dot(n1, n2))); }
public static float Dot(Normal3D n1, Normal3D n2) { return((n1.X * n2.X) + (n1.Y * n2.Y) + (n1.Z * n2.Z)); }