diff options
Diffstat (limited to 'math/slalib/cs2c6.f')
-rw-r--r-- | math/slalib/cs2c6.f | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/math/slalib/cs2c6.f b/math/slalib/cs2c6.f new file mode 100644 index 00000000..a8c4d402 --- /dev/null +++ b/math/slalib/cs2c6.f @@ -0,0 +1,73 @@ + SUBROUTINE slS2C6 ( A, B, R, AD, BD, RD, V ) +*+ +* - - - - - - +* S 2 C 6 +* - - - - - - +* +* Conversion of position & velocity in spherical coordinates +* to Cartesian coordinates (single precision) +* +* Given: +* A r longitude (radians) +* B r latitude (radians) +* R r radial coordinate +* AD r longitude derivative (radians per unit time) +* BD r latitude derivative (radians per unit time) +* RD r radial derivative +* +* Returned: +* V r(6) Cartesian position & velocity vector +* +* Last revision: 11 September 2005 +* +* Copyright P.T.Wallace. All rights reserved. +* +* License: +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program (see SLA_CONDITIONS); if not, write to the +* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +* Boston, MA 02110-1301 USA +* +* Copyright (C) 1995 Association of Universities for Research in Astronomy Inc. +*- + + IMPLICIT NONE + + REAL A, B, R, AD, BD, RD, V(6) + + REAL SA, CA, SB, CB, RCB, X, Y, RBD, W + + + +* Useful functions. + SA = SIN(A) + CA = COS(A) + SB = SIN(B) + CB = COS(B) + RCB = R*CB + X = RCB*CA + Y = RCB*SA + RBD = R*BD + W = RBD*SB-CB*RD + +* Position. + V(1) = X + V(2) = Y + V(3) = R*SB + +* Velocity. + V(4) = -Y*AD-W*CA + V(5) = X*AD-W*SA + V(6) = RBD*CB+SB*RD + + END |