• atan与atan2的区别


    相比较ATan,ATan2究竟有什么不同?本篇介绍一下ATan2的用法及使用条件。

    对于tan(θ) = y / x:

    θ = ATan(y / x)求出的θ取值范围是[-PI/2, PI/2]。

    θ = ATan2(y, x)求出的θ取值范围是[-PI, PI]。

    • 当 (x, y) 在第一象限, 0 < θ < PI/2.

    • 当 (x, y) 在第二象限 PI/2 < θPI.

    • 当 (x, y) 在第三象限, -PI < θ < -PI/2.

    • 当 (x, y) 在第四象限, -PI/2 < θ < 0.

    当点(x, y)在象限的边界也就是坐标轴上时:

    • 当 y 是 0,x 为非负值, θ = 0.

    • 当 y 是 0, x 是 负值, θ = PI.

    • 当 y 是 正值, x 是 0, θ = PI/2.

    • 当 y 是 负值, x 是 0, θ = -PI/2.

    由此可知,一般情况下用ATan即可,当对所求出角度的取值范围有特殊要求时,应使用ATan2。

     atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2);

    那么这两个点形成的斜率的角度计算方法分别是:

    float angle = atan( (y2-y1)/(x2-x1) );

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

     atan 和 atan2 区别:

    1:参数的填写方式不同;

    2:atan2 的优点在于 如果 x2-x1等于0 依然可以计算,但是atan函数就会导致程序出错;

    结论: atan 和 atan2函数,建议用 atan2函数;

  • 相关阅读:
    Promis.then()
    原生JS简单封装JSONP跨域获取数据
    原生JavaScript手写Ajax
    VS Code保存代码自动按eslint格式fix
    html data-xx 及 data()注意事项
    C#委托和事件
    vue devServer proxy 代理无效的问题
    vue .sync的使用
    js中,0的判断
    使用idea启动node项目的问题
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/4693060.html
Copyright © 2020-2023  润新知