首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >欧拉角Y值受X和Z值的影响--我如何将它们归零以得到“真实”的y值?

欧拉角Y值受X和Z值的影响--我如何将它们归零以得到“真实”的y值?
EN

Stack Overflow用户
提问于 2017-09-25 14:58:49
回答 1查看 1.4K关注 0票数 2

我试图达到的效果是从相机的pointOfView位置指向一个箭头,与x和z轴上的场景(和重力)对齐,但指向与相机相同的方向。它看起来可能是这样的:

现在,我将它的欧拉角xz设置为0,而y设置为与ARSCNView.pointOfView.eulerAngles.y匹配。问题是,当我旋转设备时,eulerAngles.y可能对不同的点具有相同的值。例如,面向一个方向的设备,我的eulerAngles是:

x: 2.52045, y: -0.300239, z: 3.12887

面向另一个方向的eulerAngles是:

euler angles x: -0.383826, y: -0.305686, z: -0.0239297

尽管这些方向相距很远,但eulerAngles仍然是一样的。不同的xz值意味着y值并不代表设备面临的方向。因此,我的箭头跟踪相机的方向到某个点,然后开始向相反的方向旋转。我如何将xz值归零,以便得到一个真实的y值,然后使用该值来确定箭头的方向?

EN

回答 1

Stack Overflow用户

发布于 2017-09-25 15:24:30

不要使用欧拉角度来检测“真实”或“真实”的值。

这些价值观总是正确的。要使用旋转,必须使用matricies或四元数。

记住。利用矩阵可以定义大量的欧拉角。

每个欧拉角与前一个角是相对的。

SceneKit以组件的相反顺序应用这些旋转: 1.第一卷2,然后偏航3,然后俯仰

所以,为了计算你的角度,我建议计算矢量,并把它投影到Oxy平面。这个角度不是‘欧拉’角。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46408336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档