Changeset 336 in flair-src for trunk/lib/FlairCore/src/Quaternion.cpp
- Timestamp:
- 10/08/19 16:41:35 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairCore/src/Quaternion.cpp
r167 r336 39 39 40 40 float Quaternion::GetNorm(void) const { 41 return sqrt (q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3);41 return sqrtf(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3); 42 42 } 43 43 … … 94 94 } 95 95 96 float Quaternion::GetEulerRoll(void) const { 97 return atan2f(2 * (q0 * q1 + q2 * q3), 1 - 2 * (q1 * q1 + q2 * q2)); 98 } 99 100 101 float Quaternion::GetEulerPitch(void) const { 102 return asinf(2 * (q0 * q2 - q1 * q3)); 103 } 104 105 106 float Quaternion::GetEulerYaw(void) const { 107 return atan2f(2 * (q0 * q3 + q1 * q2), 1 - 2 * (q2 * q2 + q3 * q3)); 108 } 109 96 110 void Quaternion::ToEuler(Euler &euler) const { 97 euler.roll = atan2(2 * (q0 * q1 + q2 * q3), 1 - 2 * (q1 * q1 + q2 * q2));98 euler.pitch = asin(2 * (q0 * q2 - q1 * q3));99 euler.yaw = atan2(2 * (q0 * q3 + q1 * q2), 1 - 2 * (q2 * q2 + q3 * q3));111 euler.roll = GetEulerRoll(); 112 euler.pitch = GetEulerPitch(); 113 euler.yaw = GetEulerYaw(); 100 114 } 101 115
Note:
See TracChangeset
for help on using the changeset viewer.