- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找一种解决方案来替代已弃用的 Android 传感器 Sensor.TYPE_ORIENTATION
。
报告最多的解决方案是结合Sensor.TYPE_ACCELEROMETER
和Sensor.TYPE_MAGNETIC_FIELD
,然后使用SensorManager#getRotationMatrix
计算旋转矩阵。并使用 SensorManager#getOrientation
获得欧拉角.另一个报告的解决方案是使用 Sensor.TYPE_ROTATION_VECTOR
,它也通过使用 SensorManager#getOrientation
不幸的是,在旋转移动设备时,它们的行为与 TYPE_ORIENTATION
完全不同。当您的手机放在桌面上时尝试这两种类型,然后将其调高(俯仰)至 90°(屏幕现在正对着您)。计算出的方位角和滚动欧拉角变得非常疯狂(导致称为 Gimbal lock 问题),而使用 TYPE_ORIENTATION
检索的度数值非常稳定(不准确但相当不错)。 TYPE_ORIENTATION
的每个值(偏航、俯仰和滚动)似乎都是某种“投影”度数,没有 Gimbal Lock 问题。
有什么方法可以在不使用折旧的 TYPE_ORIENTATION
传感器(可能来自旋转矩阵)的情况下获得相似的度数(对于偏航、滚动和俯仰)? TYPE_ORIENTATION
算法在内部是如何实现的?
最佳答案
getOrientation
中的方位角
是磁北与设备 y 轴投影到世界 x-y 平面之间的角度。当设备达到 90° 时,投影为零矢量,因此方位角在这种情况下没有意义,可以是任何值。在物理上,试图找到磁北和指向天空的矢量之间的角度是没有意义的。你应该看看我的项目 https://github.com/hoananguyen/dsensor/blob/master/dsensor/src/main/java/com/hoan/dsensor_master/DProcessedSensor.java
关于android - 等效替换已弃用的 Sensor.TYPE_ORIENTATION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753973/
使用 fetchone() 命令从 MYSQL 表中得到: ('analog sensor1',60L) 那么从这个如何得到 sensor=analog sensor1 和 interval=60 通
我有一部 Yureka 手机,还有 from its specs我可以看到它至少有一个加速度计和一个陀螺仪。 我从网上查到的是TYPE_ROTATION_VECTOR需要加速度计、陀螺仪和磁力计。由于
我正在做一些增强现实应用程序,我需要方位角来计算屏幕上的某个对象位置。我尝试使用 Sensor.TYPE_ORIENTATION 获取方向数据,由于它已被弃用,我尝试了 Sensor.TYPE_MAG
我正在尝试从 Samsung Galaxy Nexus(Android 4.0)中尽可能快地读出传感器值。为此,我使用不同的传感器和采样率做了一些实验,并发现了一个非常奇怪的行为。当我仅使用 Acc-
更新: 我能够通过引入类范围静态计数器并忽略 x 数量的事件来解决我遇到的特定问题。但我仍然想知道我做错了什么:以微秒为单位用提示注册监听器,而不是使用四个给定常量之一。 我的应用程序中的一个 Act
我正在为 Microsoft Band 开发 UWP 应用程序,最近从 Band SDK ver 1.3.11121 升级到 Microsoft Band SDK ver 1.3.20115。 我注意
I'm constructing a device to measure power and display in a 16x2 LCD in a given power source. I'm
在阅读有关磁力计/磁场/“指南针”传感器的信息时,人们常说传感器倾斜补偿,例如为了获得正确的测量结果,需要使用加速度计。 (请注意,我在这里不是在谈论硬铁和软铁效应。)所有这些来源都利用二维罗盘进行澄
我正在构建一个应用程序,该应用程序必须同时将各种传感器值记录到一个 .csv 文件中(如果传感器可用)。任何人都可以提出将值插入到 csv 文件(表格形式)中的方法吗?这可能吗在单个传感器更改事件中记
我正在制作一个 Compass 应用程序,我发现 Sensor.TYPE_ORIENTATITON 已被弃用,我不知道如何修复它。是否有可能获得一些帮助。这是我的代码和我所做的。 @Override
到目前为止,我在 Android 设备中发现了以下传感器。我将开发一个应用程序,用于放置有关设备中所有可用传感器的信息。为此,我需要知道除了下面给出的传感器之外,Android 设备还可以拥有多少个传
即使应用程序不在前台,是否可以连续跟踪 Android 上的运动传感器事件? 如果是 - 电池消耗是多少? 一位客户询问是否有可能编写一个应用程序,在人“跌倒”时启动一个 Action ——这基本上意
我正在做一个项目,我需要在计算机上安装一个传感器,如激光传感器或红外传感器,以用于罚球线检测。基本上的想法是,如果有人踩到罚球线,激光或红外线会被人的脚挡住,接收器不会接收到激光/红外线,从而导致传感
我在我的应用程序中应用了 android 传感器框架。它使用 2 个传感器:光和加速度计。传感器已正确注册和注销,应用程序运行正常。该应用程序的 apk 文件大小约为 5 MB,但在安装后,我注意到该
我正在查看 qt 附带的 Qt 传感器的示例应用程序,我已经在 Windows 上编译它没有错误,但是当我尝试将它放到我的 android 上时,我得到了这个编译错误。 10:41:51: Runni
我正在寻找一种解决方案来替代已弃用的 Android 传感器 Sensor.TYPE_ORIENTATION。 报告最多的解决方案是结合Sensor.TYPE_ACCELEROMETER 和Senso
我正在开发将 SensorManager 用于不同目的的 Android 应用程序。在调查过程中,我发现 Sensor.getResolution() 函数为不同的设备返回不同的值: HTC Sens
我正在从 SensorEvent 数据中读取时间戳值,但无法计算出这些值的引用时间。 Android 文档只是说“事件发生的纳秒时间”作为示例: 我当前的 Android 设备日期,2011 年 10
我正在为 Honeycomb Gingerbread 开发,我想知道,当我使用 Sensor.TYPE_ROTATION_VECTOR 时,使用了哪些物理传感器? 它是否结合使用了指南针和加速度计?还
有谁知道 Android 上 Sensor.TYPE_LIGHT 返回值的单位吗? 谢谢。 最佳答案 单位为 SI 勒克斯 (m/s2)。 关于Android Sensor.TYPE_LIGHT 单元
我是一名优秀的程序员,十分优秀!