3D相对角度总和计算 [英] 3D relative angle sum calculation
本文介绍了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屋!
查看全文