atan 和 atan2 都是反正切函数,返回的都是弧度
对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是:
1
|
angle = atan( (y2 - y1) / (x2 - x1) )
|
或
1
|
angle = atan2( y2 - y1, x2 - x1 )
|
因此可以看出 atan 和 atan2 的区别:
1、参数的个数不同;atan 为单个参数,atan2为两个参数
2、atan2 的优点在于: 如果 x2-x1等于0 ,角度依然可以计算,但是atan函数则需要提前判断,否则就会导致程序出错;
结论: atan 和 atan2函数,建议用 atan2函数;
注意:1、两者返回值都是弧度;2、atan2函数参数是y在前,x在后;3、需要先导入math库
下面再根据几个实例来看一下它们的用法和区别:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import math
a = math.atan( 1 )
b = math.atan2( 1 , 1 )
print (a,b)
>> 0.7853981633974483 0.7853981633974483
#垂直时
b = math.atan2( 1 , 0 )
print (b)
>> 1.5707963267948966
#弧度转角度
b = math.atan2( 1 , 0 )
print (b / math.pi * 180 )
>> 90.0
|
以上这篇对python中 math模块下 atan 和 atan2的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/songyunli1111/article/details/81145971