@@ -0,0 +1,1098 @@
+import static java.lang.Math.sin;%0Aimport static java.lang.Math.cos;%0Aimport static java.lang.Math.acos;%0A%0Apublic class AzimuthalEquidistantProjection%0A%7B%0A%09/* Instance Variables */%0A%09private final double %CE%B10;%0A%09private final double %CE%B40;%0A%09%0A%09/*== Constructors ==*/%0A%09public AzimuthalEquidistantProjection( final RightAscension CENTER_RA,%0A%09%09%09%09%09%09%09%09%09%09   final Declination CENTER_DEC )%0A%09%7B%0A%09%09%CE%B10 = CENTER_RA.toRadians();%0A%09%09%CE%B40 = CENTER_DEC.toRadians();%0A%09%7D%0A%09%0A%09/*== Accessors ==*/%0A%09public double%5B%5D getXY( final RightAscension RA, final Declination DEC  )%0A%09%7B%0A%09%09/* Local Constants */%0A%09%09final double %CE%B1 = RA.toRadians();%0A%09%09final double %CE%B4 = DEC.toRadians();%0A%09%09final double K;%0A%09%09final double COS_C;%0A%09%09final double C;%0A%09%09%0A%09%09/* Local Variables */%0A%09%09double%5B%5D xy = new double%5B2%5D;%0A%09%09%0A%09%09/* Calculate x and y Coordinates */%0A%09%09COS_C = sin(%CE%B40)*sin(%CE%B4) + cos(%CE%B40)*cos(%CE%B4)*cos(%CE%B1 - %CE%B10);%0A%09%09C = acos(COS_C);%0A%09%09K = C / sin(C);%0A%09%09xy%5B0%5D = K * cos(%CE%B4)*sin(%CE%B1 - %CE%B10);%0A%09%09xy%5B1%5D = K * ( cos(%CE%B40)*sin(%CE%B4) - sin(%CE%B40)*cos(%CE%B4)*cos(%CE%B1 - %CE%B10) );%0A%09%09%0A%09%09return xy;%0A%09%09%0A%09%09/*%0A%09%09 * See here:%0A%09%09 * http://mathworld.wolfram.com/AzimuthalEquidistantProjection.html%0A%09%09 */%0A%09%7D%0A%7D%0A

Create AzimuthalEquidistantProjection.java