public double Distance(Float3 b) { return(Math.Sqrt(DistanceSquared(b))); }
public double DistanceSquared(Float3 b) { return((this - b).LengthSquared); }
public double Dot(Float3 a) { return(X * a.X + Y * a.Y + Z * a.Z); }
public static Float3 Max(Float3 a, Float3 b) { return(new Float3(Math.Max(a.X, b.X), Math.Max(a.Y, b.Y), Math.Max(a.Z, b.Z))); }
public static V <double> ToVector(this Float3 p) { return(new V <double>(new double[] { p.X, p.Y, p.Z })); }