t
a
n
(
β
)
=
−
y
/
x
=
y
/
−
x
tan(beta) = -y/x = y/-x
tan(β)=−y/x=y/−x
t
a
n
(
θ
)
=
y
/
x
=
−
y
/
−
x
tan(theta) = y/x = -y/-x
tan(θ)=y/x=−y/−x
python内置库math有两个计算反正切的函数atan与atan2,numpy库也有一样的函数,np.angle是基于np.arctan2写的。
atan的角度范围为
[
−
π
/
2
,
π
/
2
]
[-pi/2, pi/2]
[−π/2,π/2]与atan2的角度范围为
[
−
π
,
π
]
[-pi, pi]
[−π,π],区别在于:使用 atan2得出的结果还带有位置信息。
也可以说atan计算的是一个相对角度,只是两条线的夹角,而atan2计算的是一个绝对角度,一条线固定不动。
math.atan(3/4) = 0.6435011087932844 37度 math.atan(-3/-4) = 0.6435011087932844 37度 math.atan(-3/4) = -0.6435011087932844 -37度 math.atan(3/-4) = -0.6435011087932844 -37度
math.atan2(3,4) = 0.6435011087932844 37度 math.atan2(-3,-4) = -2.498091544796509 -143度 math.atan2(-3,4) = -0.6435011087932844 -37度 math.atan2(3,-4) = 2.498091544796509 143度



