【问题标题】:Quaternion and Euler angle confusion四元数和欧拉角混淆
【发布时间】:2018-01-10 14:41:53
【问题描述】:

我一直在使用 UrhoSharp 中的四元数来做一些 3D 建模工作。我对以下代码感到困惑:

using Urho;

var q = Quaternion.FromAxisAngle(Vector3.UnitY, +45f);
var q2 = new Quaternion(0f, +45f, 0f);
var outputAngle = q.ToEulerAngles();
var outputAngle2 = q2.ToEulerAngles();

Console.WriteLine(outputAngle); // (0, -45, 0)
Console.WriteLine(outputAngle2); // (0, -45, 0) 

我无法理解的是,当我创建围绕 Y 轴旋转 +45 度的四元数时,欧拉角表示如何显示它是 -45 度。

请注意,我来自非游戏背景,并且是第一次处理向量/四元数。所以我对四元数或欧拉旋转的数学没有足够好的把握。我已经阅读了几篇文章,但仍然无法理解为什么欧拉表示中的角度会反转。

【问题讨论】:

    标签: c# quaternions urhosharp


    【解决方案1】:

    欧拉角可以用两种不同的方式表示旋转,从欧拉转换为四元数(在构造函数中)和返回可能会产生问题。这里给出了一个类似的问题:Euler angle to Quaternion then Quaternion to Euler angle

    【讨论】:

      猜你喜欢
      • 2012-06-21
      • 1970-01-01
      • 2019-10-27
      • 2013-06-22
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多