public static double atan2(double y, double x) { double rv = Math.Atan(y / x); if (x < 0) { return ((rv > 0) ? -Math.PI : Math.PI) + rv; } else return rv; }