3D相对角度总和计算 [英] 3D relative angle sum calculation

查看:31
本文介绍了3D相对角度总和计算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a 3D object with rotation r1 in a quaternion form. I rotate it with local euler angles:

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 差异?

Now I have rotation r2. How can I retrieve the local Y rotation sum 15-5+0=10 if I don't know what angles have been applied? It may be impossible to get exactly that value (10) but you've got my idea. May be I can just get Y diff in the local r2 space?

推荐答案

我发现的一个可能的解决方案:

One possible solution I found:

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

这篇关于3D相对角度总和计算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆