X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosRotation.java;h=97cf78967921f8bb10bc1c0d45bb8c7bc0969345;hb=1dce20f7eee56166ac61798ca26eeb323dc8f012;hp=9771c1660f7716718a5f4756ae16f39b50a92e86;hpb=d6445b3739ac2c5dd040efdb97317a6b2a48044a;p=fw%2Faltos diff --git a/altoslib/AltosRotation.java b/altoslib/AltosRotation.java index 9771c166..97cf7896 100644 --- a/altoslib/AltosRotation.java +++ b/altoslib/AltosRotation.java @@ -15,9 +15,9 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_8; +package org.altusmetrum.altoslib_11; -public class AltosRotation { +public class AltosRotation extends AltosQuaternion { private AltosQuaternion rotation; public double tilt() { @@ -28,7 +28,7 @@ public class AltosRotation { } public void rotate(double dt, double x, double y, double z) { - AltosQuaternion rot = AltosQuaternion.half_euler(x * dt, y * dt, z * dt); + AltosQuaternion rot = AltosQuaternion.half_euler(x * dt / 2.0, y * dt / 2.0, z * dt / 2.0); rotation = rot.multiply(rotation).normalize(); } @@ -47,4 +47,8 @@ public class AltosRotation { AltosQuaternion up = new AltosQuaternion(0, 0, 0, sky); rotation = up.vectors_to_rotation(orient); } + + public AltosRotation() { + rotation = new AltosQuaternion(); + } }