对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实现多线程下载文件的代码实例
Jun 01 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
Python补齐字符串长度的实例
Nov 15 Python
pandas取出重复数据的方法
Jul 04 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
python numpy存取文件的方式
Apr 01 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
总结三种用 Python 作为小程序后端的方式
May 02 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中10个不常见却非常有用的函数
2010/03/21 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
javascript json 新手入门文档
2009/12/03 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Python实现微信好友的数据分析
2019/12/16 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
C语言基础笔试题
2013/04/27 面试题
J2EE模式面试题
2016/10/11 面试题
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
安阳殷墟导游词
2015/02/10 职场文书
2015年端午节活动方案
2015/05/05 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
浅谈redis整数集为什么不能降级
2021/07/25 Redis
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技