]> git.plutz.net Git - serve0/commitdiff
improved yaw calculation
authorPaul Hänsch <paul@plutz.net>
Fri, 29 Dec 2023 21:58:29 +0000 (22:58 +0100)
committerPaul Hänsch <paul@plutz.net>
Fri, 29 Dec 2023 21:58:29 +0000 (22:58 +0100)
stereoview.js

index 3b0faa79bb83da4aca67a46afb5e06878ac26a86..d2c4ec54cfb2d093acdd876ef6ab70af28026ef7 100644 (file)
@@ -131,9 +131,13 @@ function stereoview(layout, video) {
 
       pitch =   Math.asin((tz / 9.81 > 1)?1:(tz/9.81)) / Math.PI * 180;
       roll  = - Math.asin((ty / 9.81 > 1)?1:(ty/9.81)) / Math.PI * 180;
+      yaw   = pitch ? ( yaw
+              - event.rotationRate.alpha / 1000 * event.interval * Math.cos(pitch * Math.PI / 180)
+              - event.rotationRate.gamma / 1000 * event.interval * Math.sin(pitch * Math.PI / 180)
+            ) % 360 : yaw;
+
       // pitch = (pitch + event.rotationRate.beta  / 1000 * event.interval) % 360;
       // roll  = (roll  + event.rotationRate.gamma / 1000 * event.interval) % 360;
-      yaw   = (yaw   - event.rotationRate.alpha / 1000 * event.interval) % 360;
       // yaw   = (yaw + ty) % 360;
     };
   })());