前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >atan和atan2反正切计算

atan和atan2反正切计算

作者头像
Enterprise_
发布2019-03-01 09:31:45
1.5K0
发布2019-03-01 09:31:45
举报
文章被收录于专栏:小L的魔法馆小L的魔法馆
代码语言:javascript
复制
typedef struct point {
    double x, y;
}point;
代码语言:javascript
复制
//给定两个点
point a(x1,y1),b(x2,y2);
  1. 使用反三角函数atan求斜率,原型如下
代码语言:javascript
复制
float       atan( float arg );  
double      atan( double arg );
long double atan( long double arg );
double      atan( Integral arg );
代码语言:javascript
复制
double angle=atan((y2-y1)/(x2-x1));

返回值 若不出现错误,则返回 arg 在[−π/2;+π/2][−π/2;+π/2] [- π/2 ; +π/2] 弧度范围中的弧(反)正切( arctan(arg)arctan(arg)arctan(arg) )。值域有限,一四象限,斜率不存在不能求。 2. 使用反三角函数atan2求斜率,原型如下

代码语言:javascript
复制
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轴正向的角度,如下

代码语言:javascript
复制
double angle=atan2((y2-y1),(x2-x1));
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档