summaryrefslogtreecommitdiffstats
path: root/org/madore/ephem/Precession.java
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2012-04-03 17:11:35 +0200
committerDavid A. Madore <david+git@madore.org>2012-04-03 17:11:35 +0200
commitb5dd88803374c586e165c77ac1dbf96c0d0f6ee7 (patch)
tree946a685d3fd932ee810643219d2243984dbe859f /org/madore/ephem/Precession.java
parentb0cb2767577a654db082f5ae9bbd69ffde725d2e (diff)
downloadephem-b5dd88803374c586e165c77ac1dbf96c0d0f6ee7.tar.gz
ephem-b5dd88803374c586e165c77ac1dbf96c0d0f6ee7.tar.bz2
ephem-b5dd88803374c586e165c77ac1dbf96c0d0f6ee7.zip
Use quaternions instead of 3*3 matrices to represent rotations.
Diffstat (limited to 'org/madore/ephem/Precession.java')
-rw-r--r--org/madore/ephem/Precession.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/org/madore/ephem/Precession.java b/org/madore/ephem/Precession.java
index 8b556d5..af8a1dc 100644
--- a/org/madore/ephem/Precession.java
+++ b/org/madore/ephem/Precession.java
@@ -15,11 +15,11 @@ public final class Precession {
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);
- 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);
+ public static Frames.Rotation matrix(double t) {
+ Frames.Rotation mat1 = Frames.Rotation.rotx(epsilon0*Comput.arcsecond);
+ Frames.Rotation mat2 = Frames.Rotation.rotz(-psi.v(t)*Comput.arcsecond).apply(mat1);
+ Frames.Rotation mat3 = Frames.Rotation.rotx(-omega.v(t)*Comput.arcsecond).apply(mat2);
+ Frames.Rotation mat4 = Frames.Rotation.rotz(chi.v(t)*Comput.arcsecond).apply(mat3);
return mat4;
}