度分秒转弧度及弧度转度分秒

2023/05/30

归化角度为0-360°,弧度0-2*pi

直接上代码:

 1 from math import radians, degrees, modf, pi
 2 
 3 # dms2rad: 度分秒转弧度
 4 def dms2rad(self, dms):
 5     # 使用 modf 函数将度分秒拆分为度和分秒部分
 6     temp, degree = modf(dms)
 7     # 再次使用 modf 函数将分秒部分拆分为分和秒部分
 8     second, minute = modf(temp * 100)
 9     # 使用 radians 函数将度、分、秒转换为弧度并返回
10     return radians((degree + minute / 60 + second / 36) % 360)  # 归化到 0~360 度,并转换为弧度
11 
12 # rad2dms: 弧度转度分秒
13 def rad2dms(self, rad):
14     # 使用 degrees 函数将弧度转换为度
15     degree = degrees(rad % (2 * pi))  # 归化到 0~360 度
16     # 商表示分钟数,余数表示秒数
17     temp, second = divmod(degree * 3600, 60)
18     # 商表示度数,余数表示分钟数
19     degree, minute = divmod(temp, 60)
20     return degree + minute / 100 + second / 10000

 

posted on 2021-08-10 15:05  Ice94  阅读(1532)  评论(0)    收藏  举报

导航