24小时热门版块排行榜    

查看: 477  |  回复: 1

紫木重楼

新虫 (初入文坛)

[求助] 计算地球上两点的距离

取地球半径r=6371km,求杭州(120.2E ,30.3N)与广西上思巴乃(107.9E,22.1N)的距离为多少千米?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

archdevil

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
紫木重楼: 金币+2, ★★★很有帮助, 谢谢,原来圆心是这么求的。 2013-01-30 12:31:36
这两地的距离应该不是两点的直线距离,而应该是经过这两地的大圆在这两点间的弧长。现在弧长的半径已知为r=6371km,关键是求弧长所对圆心角。记经度角为theta,维度角为phi建立求坐标系,则直角坐标与求坐标系的关系应该为:x=r*cos(phi)cos(theta), y=r*cos(phi)sin(theta), z=r*sin(phi), 将已知角度代入可得这两地的直角坐标向量a=(x1,y1,z1),b=(x2,y2,z2),由此可得两地间圆心角=arccos(a.b)/(|a|*|b|),最后两地间距离即弧长=圆心角×r. 我算了下,约为1527.4km.
鲜花因生之绚烂而凋谢,珊瑚因死之静默而永恒。
2楼2013-01-29 23:02:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 紫木重楼 的主题更新
信息提示
请填处理意见