Математика#

Введение#

Стандартная библиотека C++ предоставляет базовые математические функции до <cmath>, которые поддерживаются в VEXcode IQ. Эти функции позволяют выполнять распространенные математические операции, такие как тригонометрия, округление, возведение в степень и многое другое.

Используйте их для расчета положений, углов, расстояний или для преобразования градусов в радианы.

Ниже приведён список доступных математических функций, констант и вспомогательных средств:

Распространенные математические функции – основные математические инструменты.

  • abs – Возвращает абсолютное значение числа.

  • fmin – Возвращает наименьшее из входных значений.

  • fmax – Возвращает наибольшее из входных значений.

  • pow – Возводит число в степень.

Константы – предопределенные значения от <cmath>.

  • M_PI – Постоянная π (пи).

  • M_E – число Эйлера, основание натурального логарифма.

Тригонометрия – вычисление углов и соотношений между сторонами.

  • sin – Синус угла в радианах.

  • cos – Косинус угла в радианах.

  • tan – Тангенс угла в радианах.

  • atan – Арктангенс значения в радианах.

  • atan2 – Арктангенс y/x в радианах, с учетом квадранта.

  • asin – Арксинус значения в радианах.

  • acos – Арккосинус значения в радианах.

Округление и абсолютное значение – регулировка точности или направления.

  • ceil – Округляет до ближайшего целого числа.

  • floor – Округляет до ближайшего целого числа в меньшую сторону.

  • trunc – Удаляет десятичную часть.

Степени и логарифмы – вычисления степеней, корней и логарифмов.

  • sqrt – Возвращает квадратный корень.

  • exp – Вычисляет e в степени x.

  • log – Натуральный логарифм (по основанию e).

  • log10 – Десятичный логарифм.

Операции с плавающей запятой – проверка или разложение значений с плавающей запятой.

  • fmod – Остаток со знаком делимого.

  • copysign – Возвращает значение со знаком другого значения.

Распространенные математические функции#

abs#

Возвращает абсолютное значение числа, удаляя все отрицательные знаки.

Available Functions

1 — Возвращает абсолютное значение целого числа.

int abs( int x );

2 — Возвращает абсолютное значение типа double.

double abs( double x );

Parameters

Параметр

Тип

Описание

x

int or double

Целое число или число с плавающей запятой.

Return Values

Возвращает абсолютное значение входных данных того же типа.

Examples
// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));

// Output: 10

fmin#

Возвращает меньшее из двух значений в виде числа с плавающей запятой (double).

Available Functions
double fmin( double value1, double value2 );

Parameters

Параметр

Тип

Описание

value1

double

Первое значение для сравнения.

value2

double

Второе значение для сравнения.

Return Values

Возвращает значение типа double представляющее меньшее из двух входных значений.

Examples
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));

// Output: 4.000000

fmax#

Возвращает большее из двух значений в виде числа с плавающей запятой (double).

Available Functions
double fmax( double value1, double value2 );

Parameters

Параметр

Тип

Описание

value1

double

Первое значение для сравнения.

value2

double

Второе значение для сравнения.

Return Values

Возвращает значение типа double представляющее большее из двух входных значений.

Examples
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));

// Output: 7.000000

pow#

Возвращает число, возведенное в степень, в виде числа с плавающей запятой типа double.

Available Functions
double pow( double base, double exponent );

Parameters

Параметр

Тип

Описание

base

double

Базовое число.

exponent

double

Показатель степени.

Return Values

Возвращает значение типа double представляющее основание, возведенное в степень показателя степени.

Examples
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));

// Output: 8.000000

Константы#

Константы — это предопределенные значения, которые остаются неизменными на протяжении всего проекта. Их можно использовать в вычислениях без необходимости определения или присваивания каких-либо значений.

M_PI#

M_PI обозначает математическую константу π, отношение длины окружности к её диаметру.

Available Constants
const double M_PI;

Parameters

Эта константа не имеет параметров.

Return Values

Возвращает математическую константу π в виде double.

Examples
// 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 Constants
const double M_E;

Parameters

Эта константа не имеет параметров.

Return Values

Возвращает математическую константу e в виде числа double.

Examples
// 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 Functions
double sin( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число, представляющее угол в радианах.

Return Values

Возвращает значение типа double представляющее синус угла.

Examples
// 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 Functions
double cos( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число, представляющее угол в радианах.

Return Values

Возвращает значение типа double представляющее косинус угла.

Examples
// 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 Functions
double tan( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число, представляющее угол в радианах.

Return Values

Возвращает значение типа double значение, представляющее тангенс угла.

Examples
// 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 Functions
double atan( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное значение.

Return Values

Возвращает значение типа double представляющее арктангенс в радианах.

Examples
// 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 Functions
double atan2( double y, double x );

Parameters

Параметр

Тип

Описание

y

double

Число типа double, представляющее координату y.

x

double

Число типа double, представляющее координату x.

Return Values

Возвращает значение типа double , представляющее арктангенс y/x в радианах.

Examples
// 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 Functions
double asin( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число от -1 до 1.

Return Values

Возвращает значение типа double double , представляющее арксинус в радианах.

Examples
// 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 Functions
double acos( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число от -1 до 1.

Return Values

Возвращает значение типа double представляющее арккосинус в радианах.

Examples
// 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 Functions
double ceil( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойной выигрыш, который нужно округлить в большую сторону.

Return Values

Возвращает значение типа double представляющее наименьшее целое число, большее или равное x.

Examples
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));

// Output: 10.000000

floor#

Возвращает число, округленное в меньшую сторону до типа double.

Available Functions
double floor( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число округляется в меньшую сторону.

Return Values

Возвращает значение типа double представляющее наибольшее целое число, меньшее или равное x.

Examples
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));

// Output: 9.000000

trunc#

Возвращает число типа double, десятичная часть которого равна нулю.

Available Functions
double trunc( double x );

Parameters

Параметр

Тип

Описание

x

double

Двойное число, подлежащее усечению.

Return Values

Возвращает значение типа double , из которого удалена десятичная часть.

Examples
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));

// Output: 9.000000

Степени и логарифмы#

sqrt#

Возвращает квадратный корень из числа.

Available Functions
double sqrt( double x );

Parameters

Параметр

Тип

Описание

x

double

Неотрицательное число, равное двойнику.

Return Values

Возвращает значение типа double представляющее собой квадратный корень из x.

Examples
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));

// Output: 11.000000

exp#

Вычисляет показатель степени числа.

Available Functions
double exp( double x );

Parameters

Параметр

Тип

Описание

x

double

Число типа double для вычисления экспоненты.

Return Values

Возвращает значение типа double представляющее e, возведенное в степень x.

Examples
// Calculate e raised to the power of 1
double result = exp(1);

Brain.Screen.print("%f", result);
  
// Output: 2.718282

log#

Вычисляет натуральный логарифм числа.

Available Functions
double log( double x );

Parameters

Параметр

Тип

Описание

x

double

Положительный двойник.

Return Values

Возвращает значение типа double представляющее натуральный логарифм x.

Examples
// Calculate the natural logarithm (base e) of e
double result = log(M_E);

Brain.Screen.print("%f", result);  
  
// Output: 1.000000

log10#

Вычисляет десятичный логарифм числа.

Available Functions
double log10( double x );

Parameters

Параметр

Тип

Описание

x

double

Положительный двойник.

Return Values

Возвращает значение типа double представляющее собой десятичный логарифм числа x.

Examples
// Calculate the base-10 logarithm of 1000
double result = log10(1000);

Brain.Screen.print("%f", result);  
  
// Output: 3.000000

Операции с плавающей запятой#

fmod#

Возвращает остаток от деления, сохраняя при этом знак делимого.

Available Functions
double fmod( double x, double y );

Parameters

Параметр

Тип

Описание

x

double

Дивиденды.

y

double

Делитель.

Return Values

Возвращает значение типа double представляющее остаток от деления x/y со знаком x.

Examples
// 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 Functions
double copysign( double x, double y );

Parameters

Параметр

Тип

Описание

x

double

Значение, величина которого будет использоваться.

y

double

Значение, знак которого будет использоваться.

Return Values

Возвращает значение типа double , указывающее величину x и знак y.

Examples
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);

Brain.Screen.print("%f", result);  
  
// Output: -10.000000