From b5dd88803374c586e165c77ac1dbf96c0d0f6ee7 Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Tue, 3 Apr 2012 17:11:35 +0200 Subject: Use quaternions instead of 3*3 matrices to represent rotations. --- org/madore/ephem/Precession.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'org/madore/ephem/Precession.java') 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; } -- cgit v1.2.3