对python中 math模块下 atan 和 atan2的区别详解


Posted in Python onJanuary 17, 2020

atan 和 atan2 都是反正切函数,返回的都是弧度

对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是:

angle = atan( (y2-y1)/(x2-x1) )

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库

下面再根据几个实例来看一下它们的用法和区别:

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的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
进一步探究Python的装饰器的运用
May 05 Python
详解python中requirements.txt的一切
Mar 03 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
3分钟学会一个Python小技巧
Nov 23 Python
python config文件的读写操作示例
Sep 27 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
Python timeit模块的使用实践
Jan 13 Python
Django values()和value_list()的使用
Mar 31 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 #Python
Python autoescape标签用法解析
Jan 17 #Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 #Python
Python with标签使用方法解析
Jan 17 #Python
Python运行DLL文件的方法
Jan 17 #Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 #Python
python如何基于redis实现ip代理池
Jan 17 #Python
You might like
PHP 常见郁闷问题答解
2006/11/25 PHP
在PHP中设置、使用、删除Cookie的解决方法
2013/05/06 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
学习php设计模式 php实现备忘录模式(Memento)
2015/12/09 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
javascript中关于&& 和 || 表达式的小技巧分享
2015/04/10 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
详解python内置模块urllib
2020/09/09 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
Java模拟试题
2014/11/10 面试题
运动会表扬稿大全
2014/01/16 职场文书
教学改革实施方案
2014/03/31 职场文书
保护环境建议书300字
2014/05/13 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL