diff options
author | David A. Madore <david+git@madore.org> | 2012-03-27 19:05:08 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2012-03-27 19:46:09 +0200 |
commit | 221c71e37bdc19dc5bbc1f0303697f67847b7712 (patch) | |
tree | 677f3d9a07dc68146d74dad90af7832d0b81300e /org/madore/ephem/Precession.java | |
parent | d7ffd8429e8fa68a43710f2d27c266c5c2ab670c (diff) | |
download | ephem-221c71e37bdc19dc5bbc1f0303697f67847b7712.tar.gz ephem-221c71e37bdc19dc5bbc1f0303697f67847b7712.tar.bz2 ephem-221c71e37bdc19dc5bbc1f0303697f67847b7712.zip |
Nutation.
Diffstat (limited to 'org/madore/ephem/Precession.java')
-rw-r--r-- | org/madore/ephem/Precession.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/org/madore/ephem/Precession.java b/org/madore/ephem/Precession.java index 5ac3a03..b52a1c5 100644 --- a/org/madore/ephem/Precession.java +++ b/org/madore/ephem/Precession.java @@ -3,16 +3,18 @@ package org.madore.ephem; public final class Precession { // The following angles are in arcseconds, argument is in Julian centuries since J2000. - public static final double epsilon = 84381.406; + public static final double epsilon0 = 84381.406; public static Comput.Polynomial psi = new Comput.Polynomial(0, 5038.481507, -1.0790069, -0.00114045, 0.000132851, -0.0000000951); public static Comput.Polynomial omega - = new Comput.Polynomial(epsilon, -0.025754, 0.0512623, -0.00772503, -0.000000467, 0.0000003337); + = new Comput.Polynomial(epsilon0, -0.025754, 0.0512623, -0.00772503, -0.000000467, 0.0000003337); public static Comput.Polynomial chi = new Comput.Polynomial(0, 10.556403, -2.3814292, -0.00121197, 0.000170663, -0.0000000560); + public static Comput.Polynomial epsilon + = new Comput.Polynomial(epsilon0, -46.836769, -0.0001831, 0.00200340, -0.000000576, -0.0000000434); public static Frames.RotationMatrix matrix(double t) { - Frames.RotationMatrix mat1 = Frames.RotationMatrix.rotx(epsilon*Comput.arcsecond); + Frames.RotationMatrix mat1 = Frames.RotationMatrix.rotx(epsilon0*Comput.arcsecond); Frames.RotationMatrix mat2 = Frames.RotationMatrix.rotz(-psi.v(t)*Comput.arcsecond).apply(mat1); Frames.RotationMatrix mat3 = Frames.RotationMatrix.rotx(-omega.v(t)*Comput.arcsecond).apply(mat2); Frames.RotationMatrix mat4 = Frames.RotationMatrix.rotz(chi.v(t)*Comput.arcsecond).apply(mat3); |