atan、atanf、atanl、atan2、atan2f、atan2l
很久不发博客了,今天在园中计算各种角,于是复习下fan正切函数
计算x的反正切值 (atan、atanf和 atanl) 或y/x 的反正切值 (atan2、atan2f和 atan2l)。
double atan( double x ); float atan( float x ); // C++ only long double atan( long double x ); // C++ only double atan2( double y, double x ); float atan2( float y, float x ); // C++ only long double atan2( long double y, long double x ); // C++ only float atanf( float x ); long double atanl( long double x ); float atan2f( float y, float x ); long double atan2l( long double y, long double x );
atan 返回 x –π/2 到π/2弧度范围内的反正切值。 atan2 返回 y/x –π/2 到π/2弧度范围内的反正切值。如果 x 为0,则 atan返回0 。 如果 atan2 的参数都是 0,则函数返回 0。 所有结果以弧度为单位。
atan2 使用两个参数的符号标识确定返回值的象限。
输入 |
SEH 异常 |
Matherr 异常 |
---|---|---|
± QNAN,IND |
无 |
_DOMAIN |
atan 函数求x的反正切值 (反正切函数) 。 atan2 计算 y/x 反正切值 (如果 x 等于 0,atan2 返回π/2,如果 y 为正数的,-π/2,如果 y 为负或 0,则 y 为 0。)
atan 具有使用Streaming SIMD Extensions 2(SSE2)的实现。 有关使用SSE2实现的信息和限制,请参见_set_SSE2_enable。
由于 C++ 允许重载,可以调用 atan和atan2重载函数。 在 C 程序中,atan 和 atan2 始终采用并返回两个。
// crt_atan.c // arguments: 5 0.5 #include <math.h> #include <stdio.h> #include <errno.h> int main( int ac, char* av[] ) { double x, y, theta; if( ac != 3 ){ fprintf( stderr, "Usage: %s <x> <y>\n", av[0] ); return 1; } x = atof( av[1] ); theta = atan( x ); printf( "Arctangent of %f: %f\n", x, theta ); y = atof( av[2] ); theta = atan2( y, x ); printf( "Arctangent of %f / %f: %f\n", y, x, theta ); return 0; }
签 名:被别人嫉妒,说明你卓越;你嫉妒别人,说明你无能。
座右铭:抓紧一切时间睡觉。
分类:
iOS
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)