A站、B站、地心C,三点构成了一个等腰三角形,腰为地球半径.ACOS函数是求反余弦,结果为地心到AB两站的张角弧度C,地球半径R*C就是AB弧线的长度.先假设地球半径为1,还记得余弦定理吗?
cos(C)=(1*1+1*1-c*c)/(2*1*1)=1-c*c/2
其中c就是设地球半径为1时,AB两地的距离.公式里的三个power函数之和就是在计算c*c的.由球坐标与直角坐标之间的换算关系(假设纬度为W,经度J):
x=cos(W)*cos(J)
y=cos(W)*sin(J)
z=sin(W)
c*c就等于(xA-xB)^2+(yA-yB)^2+(zA-zB)^2.
都解释清楚了吧?