From 81de0e0cbd7d3834c71282348ce61b69474a01e8 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 29 Jan 2020 13:00:40 +0200 Subject: acos --- src/peds/PedIK.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/peds') diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp index c8f0409f..bfc9186d 100644 --- a/src/peds/PedIK.cpp +++ b/src/peds/PedIK.cpp @@ -344,11 +344,11 @@ void CPedIK::ExtractYawAndPitchWorld(RwMatrixTag *mat, float *yaw, float *pitch) { float f = clamp(DotProduct(mat->up, CVector(0.0f, 1.0f, 0.0f)), -1.0f, 1.0f); - *yaw = HALFPI - Atan2(f, Sqrt(1.0f - f * f)); + *yaw = Acos(f); if (mat->up.x > 0.0f) *yaw = -*yaw; f = clamp(DotProduct(mat->right, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f); - *pitch = HALFPI - Atan2(f, Sqrt(1.0f - f * f)); + *pitch = Acos(f); if (mat->up.z > 0.0f) *pitch = -*pitch; } @@ -356,11 +356,11 @@ void CPedIK::ExtractYawAndPitchLocal(RwMatrixTag *mat, float *yaw, float *pitch) { float f = clamp(DotProduct(mat->at, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f); - *yaw = HALFPI - Atan2(f, Sqrt(1.0f - f * f)); + *yaw = Acos(f); if (mat->at.y > 0.0f) *yaw = -*yaw; f = clamp(DotProduct(mat->right, CVector(1.0f, 0.0f, 0.0f)), -1.0f, 1.0f); - *pitch = HALFPI - Atan2(f, Sqrt(1.0f - f * f)); + *pitch = Acos(f); if (mat->up.x > 0.0f) *pitch = -*pitch; } -- cgit v1.2.3