• atan与atan2的区别


         形状上下文的代码已经写成好久了,今天猛然发现这个ShapeContext直方图对任何形状都是分布在一、四区间的。这才意识到写错了。这个问题浪费了我接近半天的时间,直到单步才知道atan2的返回值有问题。原来atan2是不用你费心去判断区间的,其区别如下。还有个错误,是强制转换为整形时括号的位置不对!

    atan, atan2

    Calculates the arctangent of x (atan) or the arctangent of y/x (atan2).

    double atan( double x );

    double atan2( double y, double x );

    Routine 

    Required Header 

    Compatibility

    atan

    <math.h>

    ANSI, Win 95, Win NT

    atan2

    <math.h>

    ANSI, Win 95, Win NT

     

    For additional compatibility information, see Compatibility in the Introduction.

    Libraries

    LIBC.LIB

    Single thread static library, retail version

    LIBCMT.LIB

    Multithread static library, retail version

    MSVCRT.LIB

    Import library for MSVCRT.DLL, retail version

     

    Return Value

    atan returns the arctangent of x. atan2 returns the arctangent of y/x. If x is 0, atanreturns 0. If both parameters of atan2 are 0, the function returns 0. You can modify error handling by using the _matherr routine. atan returns a value in the range –π/2 to π/2 radians; atan2 returns a value in the range –π to π radians, using the signs of both parameters to determine the quadrant of the return value.

    Parameters

    xy

    Any numbers

    Remarks

    The atan function calculates the arctangent of xatan2 calculates the arctangent ofy/xatan2 is well defined for every point other than the origin, even if x equals 0 and ydoes not equal 0.

        事实上这是个很简单的函数运用问题,但当时的疏忽知道几个月后才被发现!真的很惭愧,总想着去写个涵括多种方法的目标跟踪程序,但到现在我的程序都只能跑一段,不规则的出现堆栈报错,却一直不知道怎么去差错。另外,我的VS2003经常在编译时产生异常直接关闭,还让我给微软提交错误报告,真不知道是不是系统有问题!不管这些了,今天的教训是在以后写代码的路上,要仔细点!多写写把, 自己看的写的实在是太少了!


  • 相关阅读:
    python数字图像处理(一)图像的常见操作
    python数字图像处理(二)关键镜头检测
    使用python开启你的opencv之旅---图像的读入,存储
    Opencv3.3(Linux)编译安装至python的坑
    PNG文件格式
    从Flask-Script迁移到Flask-Cli
    typing-python用于类型注解的库
    正方教务处抓包分析
    scala worksheet demo
    Linux Maven install
  • 原文地址:https://www.cnblogs.com/duke/p/2022653.html
Copyright © 2020-2023  润新知