对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使用xauth方式登录饭否网然后发消息
Apr 11 Python
Python魔术方法详解
Feb 14 Python
Python3中多线程编程的队列运作示例
Apr 16 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
python保存网页图片到本地的方法
Jul 24 Python
python如何获取apk的packagename和activity
Jan 10 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
详解python3类型注释annotations实用案例
Jan 20 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 clearstatcache()函数详解
2010/03/02 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python删除列表中重复记录的方法
2015/04/28 Python
Python实现统计单词出现的个数
2015/05/28 Python
python如何通过protobuf实现rpc
2016/03/06 Python
Python编程argparse入门浅析
2018/02/07 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
python将图片转base64,实现前端显示
2020/01/09 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
自我鉴定四大框架
2014/01/17 职场文书
美德好少年主要事迹
2014/01/29 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
老公出轨后的保证书
2015/05/08 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL