From 944562a9600598dfa8a23f96f568fde999e1eca3 Mon Sep 17 00:00:00 2001 From: Tek Date: Sun, 11 Nov 2012 02:36:39 +0100 Subject: Fix Bug 636: Quaternion multiplication unexpected behavior --- src/jogl/classes/com/jogamp/graph/math/Quaternion.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/jogl/classes/com/jogamp/graph') diff --git a/src/jogl/classes/com/jogamp/graph/math/Quaternion.java b/src/jogl/classes/com/jogamp/graph/math/Quaternion.java index adaf073e3..1e912457d 100755 --- a/src/jogl/classes/com/jogamp/graph/math/Quaternion.java +++ b/src/jogl/classes/com/jogamp/graph/math/Quaternion.java @@ -176,11 +176,11 @@ public class Quaternion { */ public void mult(Quaternion q) { - float w1 = w*q.w - (x*q.x + y*q.y + z*q.z); + float w1 = w*q.w - x*q.x - y*q.y - z*q.z; - float x1 = w*q.z + q.w*z + y*q.z - z*q.y; - float y1 = w*q.x + q.w*x + z*q.x - x*q.z; - float z1 = w*q.y + q.w*y + x*q.y - y*q.x; + float x1 = w*q.x + x*q.w + y*q.z - z*q.y; + float y1 = w*q.y - x*q.z + y*q.w + x*q.x; + float z1 = w*q.z + x*q.y - y*q.x + y*q.w; w = w1; x = x1; -- cgit v1.2.3