public Point2D.Double projectInverse(double xyx, double xyy, Point2D.Double out) { double c; out.y = MapMath.asin(xyy / C_y); out.x = xyx / (C_x * ((c = Math.cos(out.y)) - 0.5)); out.y = MapMath.asin((out.y + Math.sin(out.y) * (c - 1.)) / C_p); return out; }
public Point2D.Double projectInverse(double xyx, double xyy, Point2D.Double lp) { double c; xyy /= C_y; c = Math.cos(lp.y = tan_mode ? Math.atan(xyy) : MapMath.asin(xyy)); lp.x = xyx / (C_x * Math.cos(lp.y /= C_p)); if (tan_mode) { lp.x /= c * c; } else { lp.x *= c; } return lp; }