Fix Vector::angularRatesBetweenVectors return NaNs on opposite vectors

This commit is contained in:
Oleg Kalachev 2024-05-21 10:50:47 +03:00
parent ad6bc02643
commit be3d2be9d3

View File

@ -80,6 +80,10 @@ public:
static Vector angularRatesBetweenVectors(const Vector& a, const Vector& b) {
Vector direction = cross(a, b);
if (direction.zero()) {
// vectors are opposite, return any perpendicular vector
return cross(a, Vector(1, 0, 0));
}
direction.normalize();
float angle = angleBetweenVectors(a, b);
return direction * angle;