【问题标题】:Haversine formula哈弗辛公式
【发布时间】:2017-01-22 15:23:40
【问题描述】:

我的问题是关于Haversine公式作为arcsin x = arctan x/(sqrt(1-x^2),因此当我们将公式从arcsin转换为arctan时,公式应该有atan x而不是atan2 x。

θ = 2 arcsin(sqrt(a)) = 2 arctan(sqrt(a)/(sqrt(1-a)))

但在大多数预览中,答案在 atan 之后都有额外的 2。 谁能给我解释一下。谢谢

【问题讨论】:

标签: math trigonometry haversine


【解决方案1】:

atan(x)atan2(x,1) 相同。 atan2(y,x) 是点(x,y) 的角度,而atan(y/x) 是通过原点和(x,y) 的直线的角度。

x86 CPU/FPU 指令上唯一作为 FPU 存在的反三角函数是 FPATAN,它实现了 atan2。因此asin(x) 也实现为atan2(x,sqrt(1-x*x))acos(x) 实现为atan2(sqrt(1-x*x),x)

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 1970-01-01
    • 2023-04-01
    • 2021-07-31
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-08
    • 2014-11-03
    相关资源
    最近更新 更多