From 5c95c21e3d6dfb76b47ab991c38e7775b1fbe67e Mon Sep 17 00:00:00 2001 From: Joona Aalto Date: Sat, 10 Aug 2024 20:40:43 +0300 Subject: [PATCH] Fix angular locked axes in gyroscopic torque computation --- src/dynamics/integrator/semi_implicit_euler.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamics/integrator/semi_implicit_euler.rs b/src/dynamics/integrator/semi_implicit_euler.rs index 894c505a..5c9ffaf7 100644 --- a/src/dynamics/integrator/semi_implicit_euler.rs +++ b/src/dynamics/integrator/semi_implicit_euler.rs @@ -77,7 +77,7 @@ pub fn integrate_velocity( // However, the basic semi-implicit approach can blow up, as semi-implicit Euler // extrapolates velocity and the gyroscopic torque is quadratic in the angular velocity. // Thus, we use implicit Euler, which is much more accurate and stable, although slightly more expensive. - let effective_inertia = locked_axes.apply_to_rotation(inv_inertia.inverse().0); + let effective_inertia = locked_axes.apply_to_rotation(inv_inertia.0).inverse(); delta_ang_vel += solve_gyroscopic_torque( *ang_vel, rotation.0,