private static double Dot(Grad g, double x, double y, double z) { return g.X * x + g.Y * y + g.Z * z; }
private static double Dot(Grad g, double x, double y) { return g.X * x + g.Y * y; }
private static double Dot(Grad g, double x, double y, double z) { return g.X * x + g.Y * y + g.Z * z; }
private static double Dot(Grad g, double x, double y) { return g.X * x + g.Y * y; }