角度区间转换(Python)

有时在程序中需要讲角度转换到特定区间,下面介绍几种方法。

将角度转换到 − π ∼ π -\pi\sim\pi ππ

代码如下,注意开闭区间

from math import pi, sin, cos, atan2
import numpy as np 
alpha = 210  #输入不同的值做验证
alpha = alpha*pi/180
# 方法一 左闭右开 [180,180) 
alphal = alpha - 2*pi*np.floor((alpha+pi)/(2*pi))
# 方法二 左闭右闭 [180,180] 
alpha2 = atan2(sin(alpha), cos(alpha))
# 验证
alpha_deg1 = alpha1*180/pi
alpha_deg2 = alpha2*180/pi
print(alpha_deg1, alpha deg2)

将角度转换到 − 1 2 π ∼ 3 2 π -\frac{1}{2}\pi \sim \frac{3}{2}\pi 21π23π

代码如下,注意开闭区间

from math import pi, sin, cos, atan2
import numpy as np 
alpha = 210  #输入不同的值做验证
alpha = alpha*pi/180
alpha = atan2(sin(alpha), cos(alpha))  # 先转换到[-pi,pi]
# 左闭右闭 (-90,270]
alpha1 = alpha+((alpha+pi/2)<=0)*2*pi
# 左开右闭 [-90,270]
alpha2 = alpha+((alpha+pi/2)<0)*2*pi
# 验证
alpha_deg1 = alpha1*180/pi 
alpha_deg2 = alpha2*180/pi 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值