对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 ORM框架SQLAlchemy学习笔记之数据查询实例
Jun 10 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python ipset管理 增删白名单的方法
Jan 14 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
Django ModelForm操作及验证方式
Mar 30 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
Python while true实现爬虫定时任务
Jun 08 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
Python3.9新特性详解
Oct 10 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
基于php 随机数的深入理解
2013/06/05 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
JS常用算法实现代码
2016/11/14 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
python使用any判断一个对象是否为空的方法
2014/11/19 Python
python读取word文档的方法
2015/05/09 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
opencv python图像梯度实例详解
2020/02/04 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
美容师的职业规划书
2013/12/27 职场文书
高二政治教学反思
2014/02/01 职场文书
房产公证书样本
2015/01/23 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
生日祝酒词大全
2015/08/10 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js