typedef struct point {double x, y;
}point;
//给定两个点
point a(x1,y1),b(x2,y2);
  1. 使用反三角函数atan求斜率,原型如下
float       atan( float arg );
double      atan( double arg );
long double atan( long double arg );
double      atan( Integral arg );
double angle=atan((y2-y1)/(x2-x1));

返回值
若不出现错误,则返回 arg 在$ [- π/2 ; +π/2]$ 弧度范围中的弧(反)正切( $arctan(arg) $)。值域有限,一四象限,斜率不存在不能求

  1. 使用反三角函数atan2求斜率,原型如下
float       atan2( float y, float x );
double      atan2( double y, double x );
long double atan2( long double y, long double x );
Promoted    atan2( Arithmetic1 y, Arithmetic2 x );

返回值
若不出现错误,则返回 y/x 在 $(-π ; +π] $弧度范围中的弧(反)正切( arctan(y/x) )。值域扩展到四个象限。
atan2(y,x)所表达的意思是坐标原点为起点,指向(y,x)的射线x轴正方向形成角的角度。在x=0的时候:
1.当y>0时,指的是绕逆时针到达射线所旋转的角的角度;
2.而当y<0时,指的是绕顺时针达到射线所旋转的角的角度。

这样就可以求两个点表示的线段(向量)和x轴正向的角度,如下

double angle=atan2((y2-y1),(x2-x1));

转载于:https://www.cnblogs.com/FlyerBird/p/9326102.html

atan和atan2反正切计算相关推荐

  1. MATLAB中atan与atan2角度讲解

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

  2. C语言math.h库函数中atan与atan2的区别

    今天做图像旋转练习的时候,要根据鼠标的移动轨迹来确定转过的角度,于是就很自然的想到通过三个点来确定这个转过的角度:图像的中心,鼠标按下的点,鼠标拖到的点.想到使用斜率来计算角度,于是联想到数学公式中的 ...

  3. c语言math.atan,C语言math.h库函数中atan与atan2的区别

    今天做图像旋转练习的时候,要根据鼠标的移动轨迹来确定转过的角度,于是就很自然的想到通过三个点来确定这个转过的角度:图像的中心,鼠标按下的点,鼠标拖到的点.想到使用斜率来计算角度,于是联想到数学公式中的 ...

  4. atan与atan2的区别

    相比较ATan,ATan2究竟有什么不同?本篇介绍一下ATan2的用法及使用条件. 对于tan(θ) = y / x: θ = ATan(y / x)求出的θ取值范围是[-PI/2, PI/2]. θ ...

  5. python中 math模块下 atan 和 atan2的区别

    atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: angle = at ...

  6. MATLAB atan 和 atan2

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

  7. c语言atan的作用,C语言中的atan和atan2

    在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x)  他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...

  8. c语言中atan2(a b)怎么运算,C语言中的atan和atan2(转)

    在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x)  他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...

  9. 反正切函数atan,atan2

    atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2); 那么这两个点形成的斜率的角度计算方法分别是: float angle = atan ...

  10. atan和atan2函数

    atan和atan2函数 一.atan函数 二.atan2函数 三.代码 一.atan函数 atan范围是[-pi/2,pi/2],如果角度不在这个范围还得再判断 二.atan2函数 atan2函数范 ...

最新文章

  1. PTA 基础编程题目集 7-21 求特殊方程的正整数解 C语言
  2. GridView 类型公开的所有成员(公共属性、公共方法、私有属性.......)
  3. 【Groovy】闭包 Closure ( 闭包定义 | 闭包类型 | 查看编译后的字节码文件中的闭包类型变量 )
  4. 编写测试用例的方法_适合小白的测试用例编写方法,一看就会!
  5. java配置文件中的plugin,启用ContextReplacementPlugin以忽略webpack中的配置和测试设置文件...
  6. LightOJ 1112 - Curious Robin Hood 树状数组
  7. php键盘输入函数,php的常用输入语句以及常用函数
  8. jeecg-mybatis-framework 参考学习版本
  9. 光大代付支付有问题解决思路
  10. java Math类
  11. hdu1533解题报告
  12. 使用JSON作为函数的参数(转载)
  13. 【Unity3D进阶4-12】Unity3D 对话系统
  14. 英语音乐---三、Cry on my shoulder
  15. kingbase之ksql命令工具
  16. mysql 1264_关于MySQL的1264错误处理及sql_mode设置
  17. opencv 直方图比较
  18. C# socket通信 接收缓冲区大小设置,以及粘包问题的解决
  19. 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计
  20. 拉伯证券|A股延续强势格局 北向资金开年以来净买入超1500亿元

热门文章

  1. 文字处理技术:完成了对表格的布局处理
  2. nvinfer1::cudnn::Engine::deserialize()出错的原因
  3. 上传文件与下载文件不一致的怪事
  4. mysql多线程访问总结
  5. 公寓式楼房宜南北走向
  6. 判断一个树是否是平衡二叉树
  7. jquery_ajax_js,浅析jQuery Ajax通用js封装
  8. 网吧电脑显示连不上服务器,Pubwin客户机连不上服务器怎么办?
  9. python变量使用前必须先声明_Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。_学小易找答案...
  10. nfs 端口_Linux挂载NFS,偶发执行df命令卡顿