用python计算球体体积,python求球体体积

  用python计算球体体积,python求球体体积

  我想得到两个形式为9000n000e的坐标对作为字符串,并计算半径为R=6371km的球体上这些点之间的距离。在

  网上找了两个公式,哈夫辛公式和余弦球定律,但是好像都不行。对于应该返回2*pi*R/4的90角,haversine正常工作,但是余数字符串失败,返回0。具有更多随机坐标的不同点在两种算法中都将返回误差值。哈弗辛太高,余弦太低。在

  我的实现有错吗?还是选错了算法?在

  我们如何进行这些计算(坐标和地球表面之间的距离)?在

  是的,我知道我没查过N/S和E/W,但是测试的坐标都在东北半球。)

  以下是我的Python 3代码。进口,重新

  R=6371

  pat=r(d ) ) ) d ) ) d ) ) d ) (([nsew])

  定义(第一,第二):

  defCoords_to_rads(s):

  return[math . radians(int(d)int)m)/60int)s)/3600]

  对于d,m,s,NSWEinre.findall(pat,s ) ]

  y1,x1=Coords_to_rads(First))。

  y2,x2=Coords_to_rads(秒))))))))))).

  dx=x1 - x2

  dy=y1 - y2

  print(coordstring:,first, ,second).

  打印(坐标弧度3360 ,y1,x1, ,y2,x2))

  打印(x/y距离:),dy,dx)。

  a=math . sin(dx/2)* 2 math . cos)x1)math . cos)x2)math . sin)dy/2)* * 2)

  c=2 *数学。Atan2(math.sqrt(a),math.sqrt (1- a)))))))))))).

  哈弗辛=R * c

  余弦定律=math . acos(math . sin(x1)math . sin(x2))

  数学cos(x1)数学cos(x1 ) ) r

  print(HS:),round)哈弗辛,2),LOC:),round)余弦定律,2))

  恢复健康

  #返回余弦定律

  if __name__==__main__ :

  deftest(结果,正确) :

  Print (result:,result))。

  打印(正确:,正确))。

  测试(距离)9000N00 0 e)、00 0 n、000e)、10007.5)

  测试(距离)512848n00e)、46120n、690e)、739.2)

  测试(距离)900 0 n00 0 e)、9000s、000w)、20015.1)

  测试(距离(335131s,1511251e ,4046 22 n7359 3 w ),15990.2)))

  有以下输出。

  ^{pr2}$

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: