diff options
Diffstat (limited to 'src/ProjectionLSQ.cxx')
-rw-r--r-- | src/ProjectionLSQ.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ProjectionLSQ.cxx b/src/ProjectionLSQ.cxx index 5da4369..901c721 100644 --- a/src/ProjectionLSQ.cxx +++ b/src/ProjectionLSQ.cxx @@ -17,6 +17,7 @@ #include "ProjectionLSQ.H" +static double pi_d = asin(1.0) * 2.0; ProjectionLSQ::ProjectionLSQ() { } @@ -236,6 +237,13 @@ void ProjectionLSQ::get_coordinates(double alph, double a_nick, const ViewParams *parms, double *x, double *y) { + // Normalize alph - parms->a_center to [-pi/2, pi/2] + if (alph - parms->a_center > pi_d) { + alph -= 2.0 * pi_d; + } else if (alph - parms->a_center < -pi_d) { + alph += 2.0 * pi_d; + } + *x = mac_x(parms->a_center, parms->a_nick, parms->a_tilt, parms->scale, parms->k0, parms->k1, parms->x0, alph, a_nick); *y = mac_y(parms->a_center, parms->a_nick, parms->a_tilt, parms->scale, |