对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获取单个程序CPU使用情况趋势图
Mar 10 Python
Python中文件操作简明介绍
Apr 13 Python
对于Python中RawString的理解介绍
Jul 07 Python
python下实现二叉堆以及堆排序的示例
Sep 29 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
使用python画社交网络图实例代码
Jul 10 Python
python同时遍历两个list用法说明
May 02 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
用python自动生成日历
Apr 24 Python
python异步的ASGI与Fast Api实现
Jul 16 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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
初级的用php写的采集程序
2007/03/16 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
教师个人读书活动总结
2014/07/08 职场文书
2016猴年春节问候语
2015/11/11 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python