- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 CMRotationMatrix *rot,我想从矩阵中获取俯仰、偏航和滚动。我有什么想法可以做到这一点吗?
谢谢
最佳答案
使用四元数比使用欧拉角更好....滚转、俯仰和偏航值可以使用以下公式从四元数导出:
roll = atan2(2*y*w - 2*x*z, 1 - 2*y*y - 2*z*z)
pitch = atan2(2*x*w - 2*y*z, 1 - 2*x*x - 2*z*z)
yaw = asin(2*x*y + 2*z*w)
它可以实现为:
CMQuaternion quat = self.motionManager.deviceMotion.attitude.quaternion;
myRoll = radiansToDegrees(atan2(2*(quat.y*quat.w - quat.x*quat.z), 1 - 2*quat.y*quat.y - 2*quat.z*quat.z)) ;
myPitch = radiansToDegrees(atan2(2*(quat.x*quat.w + quat.y*quat.z), 1 - 2*quat.x*quat.x - 2*quat.z*quat.z));
myYaw = radiansToDegrees(asin(2*quat.x*quat.y + 2*quat.w*quat.z));
其中 radianstoDegrees 是一个预处理器指令,实现为:
#define radiansToDegrees(x) (180/M_PI)*x
这样做是为了将公式给出的弧度值转换为度数。
有关转换的更多信息可在此处找到: tinkerforge在这里:Conversion between Quaternions and Euler angles .
关于ios - 从 CMRotationMatrix 获取俯仰、偏航、滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478630/
我现在没有 iPhone 4,我正在尝试找到一个文档来显示偏航、俯仰和滚动的范围以及设备的相应位置。 我知道加速度计的变化范围是 -1 到 +1,但昨天在我的 iPhone 上进行的测试显示,横滚的变
我有两个不同的系统(引擎 A、引擎 B)。引擎 A(运动跟踪软件)生成(偏航、俯仰、横滚),引擎 B(Cinema 4D)期望(航向、俯仰、倾斜)。 我的研究得出的结果是这两个系统之间没有区别。 Ya
如何通过 Quartz 以编程方式将矩形从正面朝上(在 2D 中显示为线)设置为全高? 以下(请原谅粗略的绘图)是我想要得到的:一副卡片(线),卡片旋转到全高。我没有任何调整视角的方法。 可能的作案手
我想找出 iPad 1 上的俯仰、偏航和滚动。由于没有 deviceMotion 工具,我可以从加速度计中获取这些数据吗?我假设我可以使用它返回的向量与引用向量(即重力)进行比较。 iOS 会检测设备
我在 WorldWind 中有一个 3D 飞机模型,这是一个在 OpenGL Java 上运行的 3D 地球模型。我使用数据库中的数据(包括纬度、经度和替代度)更新此模型的位置。如何从当前位置获取航向
我将 Cesium 的一个模型加载到场景中,我有两个点要用来计算模型的方向,这是我创建的函数。 // calculate the direction which the model is facing
几个小时以来,我一直在努力解决这个问题,但我根本想不出一个解决方案:我想要实现的是将方向 vector 转换为 3 glm::rotation调用。 我有一个位于 (0, 0, 0) 的圆柱体,具有一
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在使用 CMMotionManger 通过以下代码获取偏航读数。无论 UIInterfaceOrientation 如何,如果向右偏航 90 度,我都会尝试获取负 1.5708 rad 的读数;如
我有一个基于提供的纬度/经度坐标、缩放、偏航和俯仰的谷歌地图和街景。我需要调用一个 javascript 来为每个值更新一个隐藏字段,每当任何细节从它们的默认值发生变化或当一个按钮被点击时。 因此,无
我有一个 CMRotationMatrix *rot,我想从矩阵中获取俯仰、偏航和滚动。我有什么想法可以做到这一点吗? 谢谢 最佳答案 使用四元数比使用欧拉角更好....滚转、俯仰和偏航值可以使用以下
在 Android 中,我可以使用 GAME_ROTATION_VECTOR 传感器获取设备的偏航、滚动和俯仰。 我需要在 Flutter 中做同样的事情,但除了 sensors 之外我找不到任何东西
如何通过 Eigen 库使用俯仰、偏航、滚动创建旋转矩阵? 最佳答案 鉴于我无法找到执行此操作的预构建函数,我构建了一个,以防将来有人发现此问题 Eigen::AngleAxisd rollAngle
我已经研究了一段时间,现在我必须决定走哪条路。 矿山要求:需要知道设备相对于真实航向(地理北极,而非磁极)的方向。为此,我必须使用指南针,现在我必须决定其他的东西,加速度计或陀螺仪。 因为这对我来说是
我的问题 我想用 3x3 旋转矩阵旋转一个 mayavi.mlab.imshow 对象。我能找到的唯一旋转此对象的方法是将对象的 actor.orientation 设置为 [pitch, roll,
我是一名优秀的程序员,十分优秀!