This code panics with or without the renormalize lines:
let mut forearm = self.forearm;
forearm.rotation.renormalize();
let mut x = forearm * Vector::x_axis();
let mut y = forearm * Vector::y_axis();
let mut z = forearm * Vector::z_axis();
x.renormalize();
y.renormalize();
z.renormalize();
let (euler, _) = forearm.rotation.rotation_to(&self.wrist.rotation).to_rotation_matrix()
.euler_angles_ordered([y, x, z], false);
thread 'Compute Task Pool (3)' panicked at .../nalgebra-0.33.2/src/geometry/rotation_specialization.rs:1068:9:
assert_relative_eq!(n1.dot(n2), T::zero(), epsilon = eps)
left = -1.2672974e-7
right = 0.0
The value of self.forearm is Isometry { rotation: [-0.4955956, -0.49563995, -0.5043217, 0.5043667], translation: [0.46162516, 1.435696, -0.06171481] }.
Looks like eps is set as let eps = T::from_subset(&1e-7);. Could we relax the assertion epsilon a bit?
This code panics with or without the renormalize lines:
The value of
self.forearmisIsometry { rotation: [-0.4955956, -0.49563995, -0.5043217, 0.5043667], translation: [0.46162516, 1.435696, -0.06171481] }.Looks like eps is set as
let eps = T::from_subset(&1e-7);. Could we relax the assertion epsilon a bit?