atan2, atan2f, atan2l – расчет арктангенса
Синтаксис:
#include < math.h >
double atan2 (double y, double x);
float atan2 (float y, float x);
long double atan2 (long double y, long double x);
Аргументы:
y – противолежащий катет.
x – прилежащий катет.
Возвращаемое значение:
Значение угла в радианах, тангенс которого равен y/x. Значение рассчитанного угла лежит в диапазоне [-Pi, Pi] радиан.
Если аргумент y=0, а аргумент x>0, то будет возращен угол, равный нулю.
Если аргумент y=0, а аргумент x<0, то будет возращен угол, равный Pi.
Если аргумент x=0, а аргумент y>0, то будет возращен угол, равный Pi/2.
Если аргумент x=0, а аргумент y<0, то будет возращен угол, равный -Pi/2.
Если аргумент y=0 и аргумент x=0, то будет возращен угол, равный нулю.
Описание:
Функции рассчитывают угол, тангенс которого определяется соотношение y/x, где x – прилежащий к рассчитываемому углу катет, а y – противолежащий. В качестве аргументов функций допускается использование нулевых значений.
Значение полученного угла представляется в радианах.
Аргументы и возвращаемое значение функции atan2 являются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Аргументы и возвращаемое значение функции atan2f являются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Аргумент и возвращаемое значение функции atan2l являются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере рассчитывается арктангенс соотношения y/x, где х=5, а y=12, с помощью функций atan2, atan2f и atan2l, и результат выводится на консоль. Обратите внимание на точность полученных результатов. У арктангенса, рассчитанного с помощью функции atanf, будет самая маленькая точность, а у рассчитанного с помощью функции atanl – самая большая.
#include < stdio.h > //Для printf
#include < math.h > //Для atan2, atan2f, atan2l
int main (void)
{
//Вывод аргумента
printf (“Аргумент: 5 и 12\n”);
//Расчет и вывод результата работы функции atan2f
printf (“atan2f : %.20f \n”, atan2f(12,5) );
//Расчет и вывод результата работы функции atan2
printf (“atan2 : %.20f \n”, atan2 (12,5) );
//Расчет и вывод результата работы функции atan2l
printf (“atan2l : %.20Lf \n”, atan2l(12,5) );
return 0;
}
| |
Результат:
Аргумент: 5 и 12
atan2f : 1.17600524425506591797
atan2 : 1.17600520709513500783
atan2l : 1.17600520709513510248
|
Смотри так же:
sin, sinf, sinl,
asin, asinf, asinl,
cos, cosf, cosl,
acos, acosf, acosl,
tan, tanf, tanl,
atan, atanf, atanl,
atan2, atan2f, atan2l,
sincos, sincosf, sincosl,
csin, csinf, csinl,
casin, casinf, casinl,
ccos, ccosf, ccosl,
cacos, cacosf, cacosl,
ctan, ctanf, ctanl,
catan,catanf,catanl,
sinh, sinhf, sinhl,
asinh, asinhf, asinhl,
cosh,coshf,coshl,
acosh, acoshf, acoshl,
tanh, tanhf, tanhl,
atanh, atanhf, atanhl,
|