【发布时间】:2017-03-09 14:20:14
【问题描述】:
我正在尝试从使用 Delphi Rad 10.1 Berlin 的 Android 设备中检索我的当前航向。
根据 Embarcadero 知识库,OrientationSensor 中有一个功能是 True Heading,但仅在 Windows 上启用。
所以,我想这样做,我需要将以下变量转换为一个标题。
OrientationSensor1.Sensor.HeadingX
OrientationSensor1.Sensor.HeadingY
OrientationSensor1.Sensor.HeadingZ
因为我只需要航向(不关心高度),我相信我可以忽略 Z。
作为回报,我需要检索当前标题,该标题应为 0-360。
我使用了我在网上找到的公式:-
angle = atan2(Y, X);
这似乎有帮助,但在某些位置上非常不准确,在其他位置上是负面的。
任何帮助或建议将不胜感激。
一些可能有帮助的细节是:
这是 Delphi 中的多设备应用程序。
它只在 Android 设备上运行(也只在它们上进行测试)。
提前致谢。
【问题讨论】:
-
FWIW,atan2 预计对于某些输入为负数。那有什么问题呢?如果您认为这是不合理的,那么您需要退后一步,在继续之前更好地掌握基本触发。不要试图在无知的状态下解决问题。了解任何潜在的解决方案。这种没有思想文化的复制粘贴对你没有任何好处。
-
嗨大卫,因为我需要学位,它应该是我需要它的积极因素,我理解你的意思,我将是第一个举手并承认我的人我的三角肌很糟糕,因此我求助于互联网,这并不意味着在求助之前没有 3 或 4 天的疼痛。
-
-30 与 330 相同,与 -390 相同。标题是周期性的。想想这意味着什么。
标签: android delphi delphi-10.1-berlin