首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Euler角转换为VR的XYZ弦

将Euler角转换为VR的XYZ弦
EN

Stack Overflow用户
提问于 2016-06-06 21:34:42
回答 1查看 2.1K关注 0票数 0

背景

我在我的移动设备上运行VTK KiwiViewer源,我用它来制作虚拟现实场景,使用点云,用户的手机充当VR护目镜。

我从attitude获得CMDeviceMotion,它为x、y和z轴提供了欧拉角 (分别是俯仰、滚动和偏航)。

我试图在没有利用Cardboard SDK的情况下获得Google的体验。原因是因为Kiwi已经导入了我测试所需的所有型号。

场景

猕猴桃使用基于XYZ坐标系统的相机位置焦点。以下是您必须使用的三个对象来定位VR视图:

  • 焦点:xyz相机正在观察的点
  • 相机位置:xyz相机在三维空间中的位置
  • 相机向上:相对xyz控制相机的旋转

现在,我总是把相机的位置放在0,0,0上。我使用sin/cos与欧拉安格斯* 10放置焦点 10单位远离相机。设置摄像机位置焦点位置会自动将摄像机设置为一个可用的正确值。

设置焦点

代码语言:javascript
复制
x = -(sin(roll) * cos(pitch)) * 10;
y = cos(roll) * sin(pitch) * 10;
z = sin(yaw);

setCameraFocalPoint(x, y, z);

问题

我目前的设置正常,但它有一些令人讨厌的怪癖。我如何调整我的转换,以获得更坚实的虚拟现实体验?

EN

回答 1

Stack Overflow用户

发布于 2016-06-07 10:02:46

您需要弄清楚,欧拉角是用来做什么的(X * Y * Z很常见,但是您的SDK可能会使用另一种)。然后,查找按旋转矩阵。您的视图方向将是这个矩阵的最后一列(如果您使用右手坐标系,则是它的逆)。向上的方向是第二列。

如果SDK允许直接设置视图矩阵,则可以使用转置旋转矩阵(并添加第四行和第四列零和m44=1)。

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

https://stackoverflow.com/questions/37667241

复制
相关文章

相似问题

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