precision for rotation improved

This commit is contained in:
Cedric Guillemet
2020-05-24 12:10:51 +02:00
parent 4265402cd0
commit 9e643c97bb

View File

@@ -1073,7 +1073,7 @@ namespace ImGuizmo
vec_t perpendicularVector;
perpendicularVector.Cross(gContext.mRotationVectorSource, gContext.mTranslationPlan);
perpendicularVector.Normalize();
float acosAngle = Clamp(Dot(localPos, gContext.mRotationVectorSource), -0.9999f, 0.9999f);
float acosAngle = Clamp(Dot(localPos, gContext.mRotationVectorSource), -1.f, 1.f);
float angle = acosf(acosAngle);
angle *= (Dot(localPos, perpendicularVector) < 0.f) ? 1.f : -1.f;
return angle;