zoukankan      html  css  js  c++  java
  • C语言atan2()函数:求y/x的反正切值

    头文件:#include <math.h>

    atan2() 函数用于求 y / x 的反正切值。其原型为:
        double atan2(double y, double x);

    【参数】x为坐标的X轴值,y为坐标的Y轴值。如果 x 和 y 的值都为 0,将会导致错误。

    atan2() 求坐标 x 和 y 的坐标的反正切值。反正切的角度值等于 X 轴与通过原点和给定坐标点的直线之间的夹角。结果以弧度表示,并介于 -π 到 π 之间。

    在三角函数中,两个参数的函数 atan2() 是正切函数的一个变种。对于任意不同时等于 0 的实参数x和y,atan2(y,x) 所表达的意思是坐标原点为起点,指向(x,y)的射线在坐标平面上与x轴正方向之间的角的角度。当 y>0 时,射线与 x 轴正方向的所得的角的角度指的是 x 轴正方向绕逆时针方向到达射线旋转的角的角度;而当 y<0 时,射线与 x 轴正方向所得的角的角度指的是 x 轴正方向绕顺时针方向达到射线旋转的角的角度。

    【返回值】返回以弧度表示的反正切值,范围为  -π/2 至 π/2 之间。

    弧度与角度的关系为:
    弧度 = 180 / π 角度
    角度 = π / 180 弧度

    使用 rtod( ) 函数可以将弧度值转换为角度值。

    注意,使用 GCC 编译时请加入-lm。

    例如,求 x=-10.000000, y=10.000000 的反正切。

    1. #include <stdio.h>
    2. #include <math.h>
    3. #define PI 3.14159265
    4. int main ()
    5. {
    6. double x, y, result;
    7. x = -10.0;
    8. y = 10.0;
    9. result = atan2 (y,x) * 180 / PI;
    10. printf ("The arc tangent for (x=%f, y=%f) is %f degrees ", x, y, result );
    11. return 0;
    12. }

    输出结果:
    The arc tangent for (x=-10.000000, y=10.000000) is 135.000000 degrees.

    又如,求两个角度的余弦值并输出。

    1. #include<stdio.h>
    2. #include<math.h>
    3. int main(void)
    4. {
    5. double result;
    6. double p_X = 100.0,p_Y = 50.0;
    7. result =atan2(p_Y,p_X); // 求反正切值
    8. printf("atan2(%lf,%lf) is %lf ",p_X,p_Y,result); // 格式化输出
    9. return 0;
    10. }

    运行结果
    atan2(100.000000,50.000000)  is  0.463648

    程序先定义3个变量,一个结果变量result,两 个坐标变量p_X和p_Y。语句result=atan2(p_Y,p_X);的作用是求出以p_Y为X轴坐标,p_X为Y轴坐标的反正切值,结果赋值于 result,最后使用printf()函数输出显示。

  • 相关阅读:
    operator模块和functools模块
    函数注解
    用户定义的可调用类型、从定位参数到仅限关键字参数
    可调用对象
    nxos启动的初始化和https访问nx-api
    网络安全基础之网络协议与安全威胁
    华为AC中服务集命令解释配置
    转:图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)
    windows下python3 python2 共存下安装virtualenvwrapper
    关于网络安全学习的网站
  • 原文地址:https://www.cnblogs.com/xiaonanxia/p/5777257.html
Copyright © 2011-2022 走看看