【发布时间】:2023-03-06 03:37:01
【问题描述】:
我对此有点陌生。我最近将数学方程式转换为代码。所以我开始练习简单的公式,比如斐波那契数和半正弦公式。
但我对以下参考文献中的半正弦代码有点困惑;
- Using the Haversine Formula in Javascript
- Calculate distance between two latitude-longitude points? (Haversine formula)
一般来说,他们所做的是,
var R = 6371e3; // metres
var φ1 = lat1.toRadians();
var φ2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (lon2-lon1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
Math.cos(φ1) * Math.cos(φ2) *
Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
我有原始haversine formula from here的参考。
那么,注意这一行,
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
其中哪一部分来自维基百科中的原始半正弦公式?我在这些图表上根本没有找到任何切线。我在这里错过了什么吗?任何建议表示赞赏。
【问题讨论】: