Математика#
Введение#
Стандартная библиотека C++ предоставляет базовые математические функции до <cmath>, которые поддерживаются в VEXcode IQ. Эти функции позволяют выполнять распространенные математические операции, такие как тригонометрия, округление, возведение в степень и многое другое.
Используйте их для расчета положений, углов, расстояний или для преобразования градусов в радианы.
Ниже приведён список доступных математических функций, констант и вспомогательных средств:
Распространенные математические функции – основные математические инструменты.
abs– Возвращает абсолютное значение числа.fmin– Возвращает наименьшее из входных значений.fmax– Возвращает наибольшее из входных значений.pow– Возводит число в степень.
Константы – предопределенные значения от <cmath>.
Тригонометрия – вычисление углов и соотношений между сторонами.
sin– Синус угла в радианах.cos– Косинус угла в радианах.tan– Тангенс угла в радианах.atan– Арктангенс значения в радианах.atan2– Арктангенс y/x в радианах, с учетом квадранта.asin– Арксинус значения в радианах.acos– Арккосинус значения в радианах.
Округление и абсолютное значение – регулировка точности или направления.
ceil– Округляет до ближайшего целого числа.floor– Округляет до ближайшего целого числа в меньшую сторону.trunc– Удаляет десятичную часть.
Степени и логарифмы – вычисления степеней, корней и логарифмов.
sqrt– Возвращает квадратный корень.exp– Вычисляет e в степени x.log– Натуральный логарифм (по основанию e).log10– Десятичный логарифм.
Операции с плавающей запятой – проверка или разложение значений с плавающей запятой.
Распространенные математические функции#
abs#
Возвращает абсолютное значение числа, удаляя все отрицательные знаки.
Available Functions1 — Возвращает абсолютное значение целого числа.
int abs( int x );
Parameters2 — Возвращает абсолютное значение типа double.
double abs( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Целое число или число с плавающей запятой. |
Возвращает абсолютное значение входных данных того же типа.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Возвращает меньшее из двух значений в виде числа с плавающей запятой (double).
Available Functionsdouble fmin( double value1, double value2 );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Первое значение для сравнения. |
|
|
Второе значение для сравнения. |
Возвращает значение типа double представляющее меньшее из двух входных значений.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Возвращает большее из двух значений в виде числа с плавающей запятой (double).
Available Functionsdouble fmax( double value1, double value2 );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Первое значение для сравнения. |
|
|
Второе значение для сравнения. |
Возвращает значение типа double представляющее большее из двух входных значений.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Возвращает число, возведенное в степень, в виде числа с плавающей запятой типа double.
Available Functionsdouble pow( double base, double exponent );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Базовое число. |
|
|
Показатель степени. |
Возвращает значение типа double представляющее основание, возведенное в степень показателя степени.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Константы#
Константы — это предопределенные значения, которые остаются неизменными на протяжении всего проекта. Их можно использовать в вычислениях без необходимости определения или присваивания каких-либо значений.
M_PI#
M_PI обозначает математическую константу π, отношение длины окружности к её диаметру.
const double M_PI;
Эта константа не имеет параметров.
Return ValuesВозвращает математическую константу π в виде double.
// Calculate the area of a circle with radius 5
double area = M_PI * 5 * 5;
Brain.Screen.print("%f", area);
// Output: 78.539816
M_E#
Математическая константа e (число Эйлера), основание натурального логарифма.
Available Constantsconst double M_E;
Эта константа не имеет параметров.
Return ValuesВозвращает математическую константу e в виде числа double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Тригонометрия#
sin#
Вычисляет синус угла в радианах и возвращает значение типа double.
Available Functionsdouble sin( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число, представляющее угол в радианах. |
Возвращает значение типа double представляющее синус угла.
// Convert 30 degrees to radians
double radians = 30 * M_PI / 180.0;
// Display the sine of 30 degrees
Brain.Screen.print("%f", sin(radians));
// Output: 0.500000
cos#
Вычисляет косинус угла в радианах и возвращает значение типа double.
Available Functionsdouble cos( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число, представляющее угол в радианах. |
Возвращает значение типа double представляющее косинус угла.
// Convert 60 degrees to radians
double radians = 60 * M_PI / 180.0;
// Display the cosine of 60 degrees
Brain.Screen.print("%f", cos(radians));
// Output: 0.500000
tan#
Вычисляет тангенс угла в радианах и возвращает значение типа double.
Available Functionsdouble tan( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число, представляющее угол в радианах. |
Возвращает значение типа double значение, представляющее тангенс угла.
// Convert 45 degrees to radians
double radians = 45 * M_PI / 180.0;
// Compute tangent of 45 degrees
Brain.Screen.print("%f", tan(radians));
// Output: 1.000000
atan#
Вычисляет арктангенс (арктангенс) числа и возвращает значение типа double, представляющее угол в радианах.
Available Functionsdouble atan( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное значение. |
Возвращает значение типа double представляющее арктангенс в радианах.
// Calculate the arc tangent of 1 in degrees
double degrees = atan(1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
atan2#
Вычисляет главное значение арктангенса y/x и возвращает значение типа double, представляющее угол в радианах.
Available Functionsdouble atan2( double y, double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Число типа double, представляющее координату y. |
|
|
Число типа double, представляющее координату x. |
Возвращает значение типа double , представляющее арктангенс y/x в радианах.
// Calculate the inverse tangent of 1/1 in degrees
double degrees = atan2(1.0, 1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
asin#
Вычисляет обратный синус (арксинус) числа и возвращает значение типа double, представляющее угол в радианах.
Available Functionsdouble asin( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число от -1 до 1. |
Возвращает значение типа double double , представляющее арксинус в радианах.
// Calculate the arc sine of 0.5 in degrees
double degrees = asin(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 30.000000
acos#
Вычисляет обратный косинус (арккосинус) числа и возвращает значение типа double, представляющее угол в радианах.
Available Functionsdouble acos( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число от -1 до 1. |
Возвращает значение типа double представляющее арккосинус в радианах.
// Calculate the arc cosine of 0.5 in degrees
double degrees = acos(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 60.000000
Округление и абсолютное значение#
ceil#
Возвращает число, округленное в большую сторону до типа double.
Available Functionsdouble ceil( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойной выигрыш, который нужно округлить в большую сторону. |
Возвращает значение типа double представляющее наименьшее целое число, большее или равное x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Возвращает число, округленное в меньшую сторону до типа double.
Available Functionsdouble floor( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число округляется в меньшую сторону. |
Возвращает значение типа double представляющее наибольшее целое число, меньшее или равное x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Возвращает число типа double, десятичная часть которого равна нулю.
Available Functionsdouble trunc( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Двойное число, подлежащее усечению. |
Возвращает значение типа double , из которого удалена десятичная часть.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Степени и логарифмы#
sqrt#
Возвращает квадратный корень из числа.
Available Functionsdouble sqrt( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Неотрицательное число, равное двойнику. |
Возвращает значение типа double представляющее собой квадратный корень из x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Вычисляет показатель степени числа.
Available Functionsdouble exp( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Число типа double для вычисления экспоненты. |
Возвращает значение типа double представляющее e, возведенное в степень x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Вычисляет натуральный логарифм числа.
Available Functionsdouble log( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Положительный двойник. |
Возвращает значение типа double представляющее натуральный логарифм x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Вычисляет десятичный логарифм числа.
Available Functionsdouble log10( double x );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Положительный двойник. |
Возвращает значение типа double представляющее собой десятичный логарифм числа x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Операции с плавающей запятой#
fmod#
Возвращает остаток от деления, сохраняя при этом знак делимого.
Available Functionsdouble fmod( double x, double y );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Дивиденды. |
|
|
Делитель. |
Возвращает значение типа double представляющее остаток от деления x/y со знаком x.
// Calculate remainder of 10 / -3
// that preserves the sign of 10
double result = fmod(10.0, -3.0);
Brain.Screen.print("%f", result);
// Output: 1.000000
copysign#
Возвращает число, у которого величина равна x, а знак — y.
Available Functionsdouble copysign( double x, double y );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Значение, величина которого будет использоваться. |
|
|
Значение, знак которого будет использоваться. |
Возвращает значение типа double , указывающее величину x и знак y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000