qToAxisAngle method
Implementation
(Vector3D outAxis, double outAngle) qToAxisAngle() {
final q = w.abs() > 1.0 ? normalize() : this;
Vector3D resAxis = .zero();
final resAngle = 2.0*math.acos(q.w);
final den = math.sqrt(1.0 - q.w*q.w);
if (den > Raylib.instance.EPSILON) {
resAxis.x = q.x/den;
resAxis.y = q.y/den;
resAxis.z = q.z/den;
} else {
// This occurs when the angle is zero.
// Not a problem: just set an arbitrary normalized axis.
resAxis.x = 1.0;
}
return (resAxis, resAngle);
}