对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中的hashlib和base64加密模块使用实例
Sep 02 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
Python中文竖排显示的方法
Jul 28 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
详解python字节码
Feb 07 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
Python2与Python3的区别实例分析
Apr 11 Python
Python字符串对象实现原理详解
Jul 01 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
python 进程的几种创建方式详解
Aug 29 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
Python Tkinter实例——模拟掷骰子
Oct 24 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网页显示各种语法错误
2013/09/23 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
javascript工具库代码
2012/03/29 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
浅谈node的事件机制
2017/10/09 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
python创建线程示例
2014/05/06 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python numpy 点数组去重的实例
2018/04/18 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
Python笔记之代理模式
2019/11/20 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
国际商务系学生个人的自我评价
2013/11/26 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
志愿者活动总结
2014/04/28 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
大学入学感言
2015/08/01 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
mysql数据库入门第一步之创建表
2021/05/14 MySQL