我正在用 SharpDX 编写一个相机,并在四元数的帮助下旋转它。
我已经能够从四元数 s 获得俯仰、偏航和滚转。以下 C# 代码:
public static class QuaternionExtensions
{
public static Vector3 GetPitchYawRoll(this Quaternion q)
{
return new Vector3(q.GetPitch(), q.GetYaw(), q.GetRoll());
}
public static float GetPitch(this Quaternion q)
{
return q.GetK().GetPitch();
}
public static float GetYaw(this Quaternion q)
{
return q.GetK().GetYaw();
}
public static float GetRoll(this Quaternion q)
{
// This is M12 * M22 of rotation …Run Code Online (Sandbox Code Playgroud)