c# - 3D相对角度和计算

标签 c# math unity3d euler-angles

我有一个四元数形式的旋转 r1 的 3D 对象。 我用局部欧拉角旋转它:

transform.Rotate(new Vector3(0f, 15f, 0f), relativeTo: Space.Self); // right
transform.Rotate(new Vector3(-10f, -5f, 0f), relativeTo: Space.Self); // left up
transform.Rotate(new Vector3(0f, 0f, 90f), relativeTo: Space.Self); // 90 clockwise

现在我有轮换r2。如果我不知道应用了哪些角度,如何检索局部 Y 旋转总和 15-5+0=10?可能无法准确获得该值 (10),但您明白我的意思了。也许我可以在本地 r2 空间中获得 Y 差异?

最佳答案

我找到的一个可能的解决方案:

        (r2 * Quaternion.Inverse(r1)).eulerAngles.Y

关于c# - 3D相对角度和计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681992/

相关文章:

c# - C# 中的频率分析器

c# - 如何正确获取 Java 中的当前时间?

math - 获取方程的分支点

java - 在 Java 中查找素数

ios - 2 型蹦床用完

c# - 限制相机旋转角度

c# - 视觉 C# : Exit the Program Check

c# - 更新 ListBox 的 DisplayMember

python - Python 3 中 float 的精确累积和

c# - c# for Unity3D 中基于任务的序列管理器