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

查看:239
本文介绍了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),但你有我的想法。也许我可以只获得$ Y差异在当地的 R2 的空间?

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天全站免登陆