diff options
author | David A. Madore <david+git@madore.org> | 2012-03-27 19:23:09 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2012-03-27 19:48:07 +0200 |
commit | b0cb2767577a654db082f5ae9bbd69ffde725d2e (patch) | |
tree | 59c2e3be045eca44ec9015a15b9bb2033683c888 | |
parent | 221c71e37bdc19dc5bbc1f0303697f67847b7712 (diff) | |
download | ephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.tar.gz ephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.tar.bz2 ephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.zip |
Equation of the origins/equinoxes.
-rw-r--r-- | org/madore/ephem/Nutation.java | 10 | ||||
-rw-r--r-- | org/madore/ephem/Precession.java | 2 | ||||
-rw-r--r-- | org/madore/ephem/nutation.dat | 34 |
3 files changed, 45 insertions, 1 deletions
diff --git a/org/madore/ephem/Nutation.java b/org/madore/ephem/Nutation.java index ecc08a4..dcfdc30 100644 --- a/org/madore/ephem/Nutation.java +++ b/org/madore/ephem/Nutation.java @@ -10,7 +10,7 @@ import java.io.BufferedReader; public final class Nutation { public static enum Variable { - PSI("psi"), EPSILON("epsilon"); + PSI("psi"), EPSILON("epsilon"), EQORG("eqorg"); final String name; Variable(String name) { this.name = name; } } @@ -70,4 +70,12 @@ public final class Nutation { return mat3; } + public static double eqeqnx(double t) { // Equation of the equinoxes (=GAST-GMST, in arc seconds) + return getFunc(Variable.PSI).v(t)*Math.cos(Precession.epsilon.v(t)) + getFunc(Variable.EQORG).v(t); + } + + public static double eqorg(double t) { + return Precession.eqorg.v(t) + eqeqnx(t); + } + } diff --git a/org/madore/ephem/Precession.java b/org/madore/ephem/Precession.java index b52a1c5..8b556d5 100644 --- a/org/madore/ephem/Precession.java +++ b/org/madore/ephem/Precession.java @@ -12,6 +12,8 @@ public final class Precession { = 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 Comput.Polynomial eqorg + = new Comput.Polynomial(0.014506, 4612.156534, 1.3915817, -0.00000044, -0.000029956, -0.0000000368); public static Frames.RotationMatrix matrix(double t) { Frames.RotationMatrix mat1 = Frames.RotationMatrix.rotx(epsilon0*Comput.arcsecond); diff --git a/org/madore/ephem/nutation.dat b/org/madore/ephem/nutation.dat index a685e1f..efc785c 100644 --- a/org/madore/ephem/nutation.dat +++ b/org/madore/ephem/nutation.dat @@ -2412,3 +2412,37 @@ nutation epsilon 1 1,0,2,-2,2,0,0,0,0,0,0,0,0,0 0.00000000 0.00000100 nutation epsilon 1 0,0,2,-2,1,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000090 nutation epsilon 1 0,1,0,0,1,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000020 nutation epsilon 1 0,2,0,0,0,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000010 +nutation eqorg 0 0,0,0,0,1,0,0,0,0,0,0,0,0,0 0.00264096 -0.00000039 +nutation eqorg 0 0,0,0,0,2,0,0,0,0,0,0,0,0,0 0.00006352 -0.00000002 +nutation eqorg 0 0,0,2,-2,3,0,0,0,0,0,0,0,0,0 0.00001175 0.00000001 +nutation eqorg 0 0,0,2,-2,1,0,0,0,0,0,0,0,0,0 0.00001121 0.00000001 +nutation eqorg 0 0,0,2,-2,2,0,0,0,0,0,0,0,0,0 -0.00000455 0.00000000 +nutation eqorg 0 0,0,2,0,3,0,0,0,0,0,0,0,0,0 0.00000202 0.00000000 +nutation eqorg 0 0,0,2,0,1,0,0,0,0,0,0,0,0,0 0.00000198 0.00000000 +nutation eqorg 0 0,0,0,0,3,0,0,0,0,0,0,0,0,0 -0.00000172 0.00000000 +nutation eqorg 0 0,1,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000141 -0.00000001 +nutation eqorg 0 0,1,0,0,-1,0,0,0,0,0,0,0,0,0 -0.00000126 -0.00000001 +nutation eqorg 0 1,0,0,0,-1,0,0,0,0,0,0,0,0,0 -0.00000063 0.00000000 +nutation eqorg 0 1,0,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000063 0.00000000 +nutation eqorg 0 0,1,2,-2,3,0,0,0,0,0,0,0,0,0 0.00000046 0.00000000 +nutation eqorg 0 0,1,2,-2,1,0,0,0,0,0,0,0,0,0 0.00000045 0.00000000 +nutation eqorg 0 0,0,4,-4,4,0,0,0,0,0,0,0,0,0 0.00000036 0.00000000 +nutation eqorg 0 0,0,1,-1,1,0,-8,12,0,0,0,0,0,0 -0.00000024 -0.00000012 +nutation eqorg 0 0,0,2,0,0,0,0,0,0,0,0,0,0,0 0.00000032 0.00000000 +nutation eqorg 0 0,0,2,0,2,0,0,0,0,0,0,0,0,0 0.00000028 0.00000000 +nutation eqorg 0 1,0,2,0,3,0,0,0,0,0,0,0,0,0 0.00000027 0.00000000 +nutation eqorg 0 1,0,2,0,1,0,0,0,0,0,0,0,0,0 0.00000026 0.00000000 +nutation eqorg 0 0,0,2,-2,0,0,0,0,0,0,0,0,0,0 -0.00000021 0.00000000 +nutation eqorg 0 0,1,-2,2,-3,0,0,0,0,0,0,0,0,0 0.00000019 0.00000000 +nutation eqorg 0 0,1,-2,2,-1,0,0,0,0,0,0,0,0,0 0.00000018 0.00000000 +nutation eqorg 0 0,0,0,0,0,0,8,-13,0,0,0,0,0,-1 -0.00000010 0.00000005 +nutation eqorg 0 0,0,0,2,0,0,0,0,0,0,0,0,0,0 0.00000015 0.00000000 +nutation eqorg 0 2,0,-2,0,-1,0,0,0,0,0,0,0,0,0 -0.00000014 0.00000000 +nutation eqorg 0 1,0,0,-2,1,0,0,0,0,0,0,0,0,0 0.00000014 0.00000000 +nutation eqorg 0 0,1,2,-2,2,0,0,0,0,0,0,0,0,0 -0.00000014 0.00000000 +nutation eqorg 0 1,0,0,-2,-1,0,0,0,0,0,0,0,0,0 0.00000014 0.00000000 +nutation eqorg 0 0,0,4,-2,4,0,0,0,0,0,0,0,0,0 0.00000013 0.00000000 +nutation eqorg 0 0,0,2,-2,4,0,0,0,0,0,0,0,0,0 -0.00000011 0.00000000 +nutation eqorg 0 1,0,-2,0,-3,0,0,0,0,0,0,0,0,0 0.00000011 0.00000000 +nutation eqorg 0 1,0,-2,0,-1,0,0,0,0,0,0,0,0,0 0.00000011 0.00000000 +nutation eqorg 1 0,0,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000087 0.00000000 |