При работе с тригонометрическими функциями надо иметь в виду, что файлы math.h и Math.hpp в C++Builder автоматически не подключаются к модулю вашего приложения. Поэтому для использования функций необходимо вручную вводить директивы:
#include <math.h>
#include <Math.hpp>
Во всех тригонометрических функциях угол задается в радианах. Пересчет угла в радианы из значения, заданного в градусах или периодах, позволяют осуществить функции DegToRad и CycleToRad. Например, оператор:
double Rad = DegToRad(90);
заносит в переменную Rad значение угла 90 градусов в радианах. То же самое значение заносит в переменную Rad оператор:
double Rad = CycleToRad(0.25);
в котором значение угла задано в периодах (четверть периода). Следующее выражение вычисляет синус 90 градусов:
double S = sin(DegToRad(90));
Все обратные тригонометрические функции вычисляют главные значения: acos и acosl в диапазоне [0, p], asin, asinl, atan, atan2, atan2l, atanl в диапазоне [~Π/2, Π/2]. Результат возвращается в радианах. Пересчет угла в радианах в значения градусов или долей периода позволяют осуществить функции RadToDeg и RadToCycle. Например, операторы:
double А = atan(T);
double A1 = RadToDeg(atan(T));
double A2 = RadToCycle(atan(T));
вычисляют арктангенс T в радианах (А), в градусах (A1) и в долях периода (A2).
В функциях acos, acosl, asin, asinl, если заданный аргумент не попадает в диапазон значений [-1, +1], происходит ошибка выхода за пределы области определения (EDOM). В гиперболических функциях tosh, coshl, sinh, sinhl, если заданный аргумент слишком велик, происходит ошибка выхода за диапазон допустимых значений (ERANGE).
Функция | Синтаксис | Описание | Файл |
acos | double acos(double x) | арккосинус | math.h |
acosl | long double acosl(long donble x) | арккосинус | math.h |
ArcCos | Extended ArcCos(Extended X) | арккосинус | Math.hpp |
ArcCosh | Extended ArcCosh(Extended X) | арккосинус гиперболический | Math.hpp |
ArcSin | Extended ArcSin(Extended X) | арксинус | Math.hpp |
ArcSinh | Extended ArcSinh(Extended X) | арксинус гиперболический | Math.h |
ArcTan2 | Extended ArcTan2(Extended Y, Extended X) | арктангенс (Y / X) | Math.hpp |
ArcTanh | Extended ArcTanh(Extended X) | арктангенс гиперболический | Math.hpp |
asin | double asin(double x) | арксинус | math.h |
asinl | long double asinl(long double x) | арксинус | math.h |
atan | double atan(double x) | арктангенс | math.h |
atan2 | double atan2(double y, double x) | арктангенс у / x | math.h |
atan2l | long double atan2l(long double y, long double x) | арктангенс у / x | math.h |
cos | double cos(double x) | косинус | math.h |
cosh | double cosh(double x) | косинус гиперболический | math.h |
Cosh | Extended Cosh(Extended X) | косинус гиперболический | Math.hpp |
coshl | long double coshl(long double x) | косинус гиперболический | math.h |
cosl | long double cosl(long double x) | косинус | math.h |
Cotan | Extended Cotan(Extended X) | котангенс | Math.hpp |
CycleToRad | Extended CycIeToRad(Extended Cycles) | вычисляет угол в радианах по его значению в периодах Cycles: 2Π*Cycles | Math.hpp |
DegToRad | Extended DegToRad(Extended Degrees) | вычисляет угол в радианах по его значению в градусах Degrees: Degrees*Π/180 | Math.hpp |
hypot | double hypot(double x, double y) | гипотенуза треугольника с катетами x и у | math.h |
Hypot | Extended Hypot(Extended X, Extended Y) | расчет гипотенузы по катетам X и Y | Math.hpp |
hypotl | long double hypotl(long double x, long double y) | гипотенуза треугольника с катетами x и у | math.h |
RadToCycle | Extended RadToCycle(Extended Radians) | вычисляет угол в периодах по его значению в радианах Radians: Radians/(2Π) | Math.hpp |
RadToDeg | Extended RadToDcg(Extended Radians) | вычисляет угол в градусах по его значению в радианах Radians: Radians*180/Π | Math.hpp |
sin | double sin(double x) | синус | math.h |
SinCos | void SinCos(Extended Theta, Extended &Sin, Extended &Cos) | расчет синуса Sin и косинуса Cos угла Theta | Math.hpp |
Sinh | Extended Sinh(Extended X) | синус гиперболический | Math.hpp |
sinh | double sinh(double x) | синус гиперболический | math.h |
sinhl | long double sinhl(long double x) | синус гиперболический | math.h |
sinl | long double sinl(long double x) | синус | math.h |
Tan | Extended Tan(Extended X) | тангенс | Math.hpp |
tan | double tan(double x) | тангенс | math.h |
Tanh | Extended Tanh(Extended X) | тангенс гиперболический | Math.hpp |
tanh | double tanh(double x) | тангенс гиперболический | math.h |
tanhl | long double tanhl(long double x) | тангенс гиперболический | math.h |
tanl | long double tanl(long double x) | тангенс | math.h |