mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-11 06:59:07 +01:00
Merge pull request #11151 from jordan-woyak/quat-fix
Fix some bad quaternion math.
This commit is contained in:
commit
a5fa95adfd
@ -78,7 +78,7 @@ Quaternion::Quaternion(float w, float x, float y, float z) : data(x, y, z, w)
|
|||||||
|
|
||||||
float Quaternion::Norm() const
|
float Quaternion::Norm() const
|
||||||
{
|
{
|
||||||
return data.Dot(data);
|
return std::sqrt(data.Dot(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
Quaternion Quaternion::Normalized() const
|
Quaternion Quaternion::Normalized() const
|
||||||
|
@ -398,7 +398,9 @@ Common::Quaternion GetRotationFromAcceleration(const Common::Vec3& accel)
|
|||||||
|
|
||||||
Common::Quaternion GetRotationFromGyroscope(const Common::Vec3& gyro)
|
Common::Quaternion GetRotationFromGyroscope(const Common::Vec3& gyro)
|
||||||
{
|
{
|
||||||
return Common::Quaternion{1, gyro.x / 2, gyro.y / 2, gyro.z / 2};
|
const auto length = gyro.Length();
|
||||||
|
return (length != 0) ? Common::Quaternion::Rotate(length, gyro / length) :
|
||||||
|
Common::Quaternion::Identity();
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::Matrix33 GetRotationalMatrix(const Common::Vec3& angle)
|
Common::Matrix33 GetRotationalMatrix(const Common::Vec3& angle)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user