atan2(a,b)是4象限反正切,它的取值不仅取决于正切值a/b,还取决于点 (b, a) 落入哪个象限:
   当点(b, a) 落入第一象限时,atan2(a,b)的范围是 0 ~ pi/2;
 当点(b, a) 落入第二象限时,atan2(a,b)的范围是 pi/2 ~ pi;
   当点(b, a) 落入第三象限时,atan2(a,b)的范围是 -pi~-pi/2;
 当点(b, a) 落入第四象限时,atan2(a,b)的范围是 -pi/2~0

而 atan(a/b) 仅仅根据正切值为a/b求出对应的角度 (可以看作仅仅是2象限反正切):
   当 a/b > 0 时,atan(a/b)取值范围是 0 ~ pi/2;
   当 a/b < 0 时,atan(a/b)取值范围是 -pi/2~0

故 atan2(a,b) = atan(a/b) 仅仅发生在 点 (b, a) 落入第一象限 (b>0, a>0)或 第四象限(b>0, a<0)。当点 (b, a) 落入第二、三象限时,很显然atan2(a,b) 不等于 atan(a/b) ,并且atan2(a,b)也不可能等于 2*atan(a/b) 。这是因为,假如点 (b, a) 落入第二象限,则 a/b<0,  故atan(a/b)取值范围始终是 -pi/2~0,2*atan(a/b) 的取值范围是-pi~0,然而,atan2(a,b)的范围是 pi/2 ~ pi,故不可能有atan2(a,b) = 2*atan(a/b) 。假如点(b, a) 落入第三象限,则则 a/b>0 , 故 atan(a/b) 取值范围是 0 ~ pi/2,2*atan(a/b) 的取值范围是 0 ~ pi,而此时atan2(a,b)的范围是 -pi~-pi/2,很显然,atan2(a,b) = 2*atan(a/b)

举个最简单的例子,a = 1, b = -1,则 atan(a/b) = atan(-1) = -pi/4, 而 atan2(a,b) = 3*pi/4

atan2(a,b)和atan的区别相关推荐

  1. atan2与atan的区别

    目录 总结 atan2: Four-quadrant inverse tangent. atan 距离对比 总结 简而言之,atan2与atan的区别体现在两个方面: (1) atan2接收两个输入参 ...

  2. 透彻说明反正切atan2函数比反正切atan函数的区别

    flash里,反正切atan2函数比反正切atan函数(即角的对边比邻边)更为有用,它可以让我们做出对物体正确的旋转.请记住Flash里的y轴 坐标与数学的是颠倒的.(上面演示所示),Flash是以弧 ...

  3. 正切atan2(y,x)与atan(x)

    1.atan(x)表示求的是x的反正切,其返回值为[-pi/2,+pi/2]之间的一个数. 2.atan2(y,x)求的是y/x的反正切,其返回值为[-pi,+pi]之间的一个数. 在三角函数中,两个 ...

  4. MATLAB函数——atan(x)和atan2(x)的区别

    atan 和 atan2 都是求反正切函数,但参数数量和计算方法都有不同. atan2(a,b)是4象限反正切,它的取值不仅取决于正切值a/b,还取决于点 (b, a) 落入哪个象限    当点(b, ...

  5. C++中的atan2与atan

    C++中的atan2与atan 1. atan(x) 2. atan2(y,x) 3. atan(y/x)与atan2(y,x)的区别 反正切函数 atan(double x)与 atan2(doub ...

  6. atan与atan2

    1.atan2的含义 C 语言里 double atan2(double y,double x) 返回的是原点至点(x,y)的方位角,即与 x 轴的夹角.返回值的单位为弧度,取值范围为(-π, π]. ...

  7. atan2 vs atan

    atan2函数 atan2(y,x)所表达的意思是以坐标原点为起点,指向(x,y)坐标处的射线在坐标平面上与x轴正向之间的夹角的角度.在我们轨迹跟踪过程中,我们车辆的横摆角定义为车辆纵轴与X轴正向之间 ...

  8. MATLAB中atan与atan2角度讲解

    atan2求的是一个点所对应的角的大小 ,且输出角度范围是[-π, π] atan求的是一个数值对应的角,且输出角度范围是[-π/2, π/2] 例如: atan(1)=0.7854 atan(1,1 ...

  9. MATLAB atan 和 atan2

    atan 和 atan2 都是求反正切函数,但参数数量和计算方法都有不同. atan2(a,b)是4象限反正切,它的取值不仅取决于正切值a/b,还取决于点 (b, a) 落入哪个象限    当点(b, ...

最新文章

  1. 给娃写个游戏,庆祝嫦娥五号登月
  2. 哈萨比斯导师:人工智能媲美人类或需两百年,神经学是条出路
  3. 服务端统一时间戳 boost::date_time UTC
  4. kettle kafka mysql_kettle使用kafka组件消费数据,保存到资源库无法打开问题
  5. html如何链接sql sever,SQL Server链接服务器
  6. java与java ee_计划Java EE 7批处理作业
  7. Redis:05---键的基本命令(下) 生存周期
  8. 【文章】鱼那么信任水, 水却煮了鱼!
  9. ubuntu用户目录安装pip(无root权限)
  10. 送书 |《Python大数据与机器学习实战》
  11. Java 使用dom4j进行XML解析
  12. 海昇智:拼多多推广创意图如何才能做好?
  13. 6.Striped64源码解析
  14. 【100%通过率】华为OD机试真题 Python 实现【完美走位】【2022.11 Q4新题】
  15. home credit default risk(捷信违约风险)机器学习模型复现(论文_毕业设计_作业)
  16. PDF在线预览插件汇总与方案总结
  17. cent7虚拟机镜像_centos7.3系统下载
  18. 基础知识 fock()函数
  19. Java设计模式之外观模式
  20. matlab二维色温图,怎样在二维摄影画面中营造纵深立体感?试试这9个用光构图技巧吧...

热门文章

  1. python爬取阿里巴巴网站实现
  2. IDEA必备插件系列 - Key Promoter X(快捷键使用提示)
  3. Bugzilla的bug状态
  4. oracle connectionstring 属性尚未初始化.,ConnectionString 属性尚未初始化
  5. Python挑战游戏( PythonChallenge)闯关之路Level- 1
  6. 房产抵押贷款需要的资质有哪些
  7. 执行git merge,合并两个分支的代码,其中某个分支的文件或代码被删除或被覆盖
  8. 一元n次多项式的处理
  9. Linux开放80端口
  10. $().each()与$.each()的区别