public Point2D.Double project(double lplam, double lpphi, Point2D.Double out) { double t = lpphi * lpphi; out.y = lpphi * (1. + t * C12); out.x = lplam * (1. - Cp * t); t = lplam * lplam; out.x *= (0.87 - Cl * t * t); return out; }
public Point2D.Double projectInverse(double xyx, double xyy, Point2D.Double out) { double rho; rho = MapMath.distance(xyx, out.y = rho_0 - xyy); if (n < 0.) { rho = -rho; out.x = -xyx; out.y = -xyy; } out.x = Math.atan2(xyx, xyy) / n; switch (type) { case PCONIC: out.y = Math.atan(c1 - rho / c2) + sig; break; case MURD2: out.y = sig - Math.atan(rho - rho_c); break; default: out.y = rho_c - rho; } return out; }
public Point2D.Double project(double lplam, double lpphi, Point2D.Double out) { double rho; switch (type) { case MURD2: rho = rho_c + Math.tan(sig - lpphi); break; case PCONIC: rho = c2 * (c1 - Math.tan(lpphi)); break; default: rho = rho_c - lpphi; break; } out.x = rho * Math.sin(lplam *= n); out.y = rho_0 - rho * Math.cos(lplam); return out; }
public Point2D.Double projectInverse(double xyx, double xyy, Point2D.Double out) { out.y = 3. * Math.asin(xyy * RYM); out.x = xyx * RXM / (2. * Math.cos((out.y + out.y) * THIRD) - 1); return out; }
public Point2D.Double project(double lplam, double lpphi, Point2D.Double out) { lpphi *= THIRD; out.x = XM * lplam * (2. * Math.cos(lpphi + lpphi) - 1.); out.y = YM * Math.sin(lpphi); return out; }
public Point2D.Double projectInverse(double xyx, double xyy, Point2D.Double out) { out.x = RXF * xyx / (1. + Math.cos(out.y = RYF * xyy)); return out; }
public Point2D.Double project(double lplam, double lpphi, Point2D.Double out) { out.x = XF * (1. + Math.cos(lpphi)) * lplam; out.y = YF * lpphi; return out; }
public Point2D.Double project(double lplam, double lpphi, Point2D.Double out) { out.x = 0.5 * lplam * (1. + Math.sqrt(Math.cos(lpphi))); out.y = lpphi / (Math.cos(0.5 * lpphi) * Math.cos(SIXTH * lplam)); return out; }