Haversine formula

$h(\theta)=sin^2(\frac{\theta}{2})=\frac{1-cos(\theta)}{2}$

则$h(\theta)=h(\frac{d}{R})=h(\Delta \beta)+cos(\beta_1)cos(\beta_2)h(\Delta \alpha)$

- $R表示球面半径,d表示球面距离,\theta表示两点与圆心夹角弧度$ - $\alpha_i分别表示两点经度,\beta_i表示两点维度,\Delta表示差值$ - 公式全称应该为$half-versine$,即$versine: 1-cos(\theta)的一半$ - 计算时可进一步化解:$cos(\theta)=sin(\beta_1)sin(\beta_2)+cos(\beta_1)cos(\beta_2)cos(\Delta \alpha)$

这里求$\overset{\frown}{AB}$,显然求得$|AB|$即可

以$OEF$为例,$\angle OEF=\Delta \alpha,|EF|=2sin(\frac{\Delta \alpha}{2})$R,同理利用维度$|AC|=2sin(\frac{\Delta \beta}{2})R$

而对于$|BC|,|AD|$作$AG\perp OE,BH \perp OE$可得:$|AD|=2sin(\frac{\Delta \alpha}{2})(|OE|cos(\angle AOG))=2sin(\frac{\Delta \alpha}{2})Rcos(\beta_1)$

而四边形$ACBD$为等腰梯形形

$CH=\frac{BC-AD}{2},AB^2=BH^2+AH^2=(BC-CH)^2+AC^2-CH^2=AC^2+BC*AD$

$|AB|^2=4sin^2(\frac{\Delta \beta}{2})R^2+4sin^2(\frac{\Delta \alpha}{2})cos(\beta_1)cos(\beta_2)R^2$

而要求解的$\theta=\angle AOB,|AB|^2=4sin^2(\frac{\theta}{2})R^2$

得到目标公式$h(\theta)=h(\Delta \beta)+cos(\beta_1)cos(\beta_2)h(\Delta \alpha),\overset{\frown}{AB}=d=R\theta$

进一步化解$1-cos(\theta)=1-cos(\Delta\beta) +cos(\beta_1)cos(\beta_2)(1-cos(\Delta \alpha))$

$cos(\Delta \beta)=cos(\beta_1)cos(\beta_2)+sin(\beta_1)sin(\beta_2)$

可得$cos(\theta)=sin(\beta_1)sin(\beta_2)+cos(\beta_1)cos(\beta_2)cos(\Delta \alpha)$