double ProjectionCylindrical::mac_x ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return (cos(c_tilt)*(m_view-c_view)-sin(c_tilt)*(_2-_1)/(_1*_2+1))*scale ; } 
double ProjectionCylindrical::mac_y ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return (-sin(c_tilt)*(m_view-c_view)-cos(c_tilt)*(_2-_1)/(_1*_2+1))*scale ; } 
double ProjectionCylindrical::mac_x_dc_view ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { return -cos(c_tilt)*scale ; } 
double ProjectionCylindrical::mac_x_dc_nick ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 ; _1 = pow(sec(c_nick),2) ; _2 = sin(c_tilt) ; _3 = tan(m_nick) ; _4 = tan(c_nick) ; _5 = _4*_3+1 ; return (_1*_2*_3*(_3-_4)/pow(_5,2)+_1*_2/_5)*scale ; } 
double ProjectionCylindrical::mac_x_dc_tilt ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return (-sin(c_tilt)*(m_view-c_view)-cos(c_tilt)*(_2-_1)/(_1*_2+1))*scale ; } 
double ProjectionCylindrical::mac_x_dscale ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return cos(c_tilt)*(m_view-c_view)-sin(c_tilt)*(_2-_1)/(_1*_2+1) ; } 
double ProjectionCylindrical::mac_y_dc_view ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { return sin(c_tilt)*scale ; } 
double ProjectionCylindrical::mac_y_dc_nick ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 , _3 , _4 , _5 ; _1 = pow(sec(c_nick),2) ; _2 = cos(c_tilt) ; _3 = tan(m_nick) ; _4 = tan(c_nick) ; _5 = _4*_3+1 ; return (_1*_2*_3*(_3-_4)/pow(_5,2)+_1*_2/_5)*scale ; } 
double ProjectionCylindrical::mac_y_dc_tilt ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return (sin(c_tilt)*(_2-_1)/(_1*_2+1)-cos(c_tilt)*(m_view-c_view))*scale ; } 
double ProjectionCylindrical::mac_y_dscale ( double c_view, double c_nick, double c_tilt, double scale, double k0, double k1, double x0, double m_view, double m_nick ) { double _1 , _2 ; _1 = tan(c_nick) ; _2 = tan(m_nick) ; return -sin(c_tilt)*(m_view-c_view)-cos(c_tilt)*(_2-_1)/(_1*_2+1) ; } 
