有没有办法在可可触摸中获得或计算真北?

Posted

技术标签:

【中文标题】有没有办法在可可触摸中获得或计算真北?【英文标题】:Ia there a way to get or calculate true north in cocoa touch? 【发布时间】:2009-05-10 22:25:11 【问题描述】:

我想确定从真北开始顺时针移动 x 度的方向。有没有办法让我根据一组经纬度坐标获取或计算真北?

我对实现这种可可触感很感兴趣。我确信这已在许多已经存在的应用程序中使用。任何 cmets、指针、建议将不胜感激。

谢谢

ldj

【问题讨论】:

【参考方案1】:

如果你得到一组坐标,然后十秒后得到另一组坐标,你就可以算出你的行进方向。(不确定这是否是你想要的)

你必须计算出经度和纬度的变化,然后使用一点三角函数,然后简单地做 arctan(long/lat)(arc tan 是 tan 的反函数) 当 lat 的变化为 0 时,您必须避免除以 0。但是,当 long 或 lat 的变化为 0 时,您就知道您已经直接向北、向东、向南或向西旅行了。

此外,大多数 API 中的 arctan 以弧度输出,因此您必须将其乘以 180 并除以 pi 以获得度数。

编辑: 真北不位于任何纬度0吗?虽然我的第一印象是网格北,但我认为由于地球的曲线和经线平行绘制的事实,会产生称为网格北的变化。

【讨论】:

【参考方案2】:

你是指磁北吗?

如果是这样,谷歌搜索磁变化,你就会拥有它。

【讨论】:

【参考方案3】:

不过,Zekian 走在正确的道路上...看起来您需要当前的经纬度和当前的磁极经纬度,以及一些球面几何形状来计算磁推导(“偏角”是一个经常出现的词),然后将该推导应用于您当前的磁北读数。而且由于地球磁场不断移动,您也需要对此进行补偿。或者至少提供磁北经度/纬度的更新。

这些是我一路上找到的链接,但在我想出任何聪明的东西之前,我的头就开始像驱魔人一样旋转

http://www.nauticalissues.com/en/math1.html

http://mathforum.org/library/drmath/view/60398.html

http://mathforum.org/library/drmath/view/55417.html

http://www.ngdc.noaa.gov/geomag/magfield.shtml

http://en.wikipedia.org/wiki/Magnetic_declination

【讨论】:

将地球磁场视为一个简单的偶极子对于确定磁偏角不是很准确。

以上是关于有没有办法在可可触摸中获得或计算真北?的主要内容,如果未能解决你的问题,请参考以下文章

计算垂直于由点和真北航向描述的平面的 3d 矢量

如何获得滑动/拖动触摸的增量

如何在可可触摸的uitableviewcell中使用段落文本

UISwipeGestureRecognizer 滑动长度

我在可可触摸应用程序中的按钮没有正确返回我的位置

可可触摸:如何找出被触摸的对象