回覆列表
  • 1 # 使用者9639739024251

      算起來還挺複雜的

    地球的經緯度座標是球座標(x,y),x是經度,y是緯度

    先把它轉換成直角座標(X,Y,Z)

    設地球半徑為r

    則有轉換式:

    X=r*cos(y)*cos(x)

    Y=r*cos(y)*sin(x)

    Z=r*sin(y)

    分別得到A(x1,y1),B(x2,y2)兩點的直角座標A(X1,Y1,Z1),B(X2,Y2,Z2)

    那麼AB兩點間直線距離是L=√[(X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2]

    把上面轉換式代入化簡可以得到L=r*√[2-2cos(y1)*cos(y2)*cos(x1-x2)-2sin(y1)*sin(y2)]

    設AB兩點對球心所夾圓心角為θ(弧度),則有L=2r*sin(θ/2)=2r*√[(1-cosθ)/2]=r*√[2*(1-cosθ)]

    因此cosθ=1-L^2/(2r^2)=cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)

    那麼弧長=r*θ

    =r*arccos[cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)]

    這裡的經緯度用角度弧度均可,因為都要代入三角函式,但arccos得到的θ必須用弧度

  • 中秋節和大豐收的關聯?
  • 牛頓和萊布尼茨相比,你更喜歡哪個?