public PixelPoint GetPixelPoint(ProjectionPoint Point) { return(new PixelPoint() { X = R11 * Point.X + R12 * Point.Y + Ref1, Y = R21 * Point.X + R22 * Point.Y + Ref2 }); }
public override EquatorialPoint GetEquatorialPoint(ProjectionPoint Point) { double Rho = Sqrt(Point.X * Point.X + Point.Y * Point.Y + ADDC); double C = Atan(Rho); double RAn = RA + Atan2(Point.X, Cos(Dec) - Point.Y * Sin(Dec)); double Decn = Asin((Point.Y * Cos(Dec) + Sin(Dec)) * Cos(C)); return(new EquatorialPoint() { RA = RAn, Dec = Decn }); }
public override ProjectionPoint[] GetProjectionPoints(EquatorialPoint[] Points) { ProjectionPoint[] EqP = new ProjectionPoint[Points.Length]; for (int i = 0; i < Points.Length; i++) { double DDec = Points[i].Dec; double RRa = Points[i].RA; double CC = Sin(DDec) * Sin(Dec) + Cos(DDec) * Cos(Dec) * Cos(RRa - RA); EqP[i].X = Cos(DDec) * Sin(RRa - RA) / CC; EqP[i].Y = (Cos(Dec) * Sin(DDec) - Sin(Dec) * Cos(DDec) * Cos(RRa - RA)) / CC; } return(EqP); }
public ProjectionPoint[] GetProjectionPoints(PixelPoint[] Points) { ProjectionPoint[] pps = new ProjectionPoint[Points.Length]; for (int i = 0; i < Points.Length; i++) { pps[i] = new ProjectionPoint() { X = C11 * (Points[i].X - Ref1) + C12 * (Points[i].Y - Ref2), Y = C21 * (Points[i].X - Ref1) + C22 * (Points[i].Y - Ref2) } } ; return(pps); }
public abstract EquatorialPoint GetEquatorialPoint(ProjectionPoint Point);