gpt4 book ai didi

ios - 欧拉角 Y 值受 X 和 Z 值的影响——如何将它们归零以获得 "truthful"y 值?

转载 作者:可可西里 更新时间:2023-11-01 02:00:54 26 4
gpt4 key购买 nike

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

enter image description here

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

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

从另一个方向面对它,eulerAngles 是:

欧拉角 x:-0.383826,y:-0.305686,z:-0.0239297

即使这些方向相距甚远,eulerAngles 仍然几乎相同。不同的 xz 值意味着 y 值不代表设备面向的方向。结果,我的箭头跟随相机的航向到达某个点,然后开始向相反方向旋转。我如何才能将 xz 值清零,从而获得真实的 y 值,然后我可以使用该值定向我的箭头?

最佳答案

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

这些值总是正确的。要使用旋转,您必须使用矩阵或四元数。

记住。可以使用矩阵定义很多“欧拉角”。

每个欧拉角都与前一个欧拉角相关。

SceneKit applies these rotations in the reverse order of thecomponents:

               1. first roll

2. then yaw

3. then pitch

因此,为了计算角度值,我建议计算向量及其在氧平面上的投影。这个角不是“欧拉”角。

关于ios - 欧拉角 Y 值受 X 和 Z 值的影响——如何将它们归零以获得 "truthful"y 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com