Обзор объекта Math
¶
Встроенный объект Math
является расширением стандартного объекта Math
языка программирования JavaScript
и предоставляет ряд полезных математических функций.
Основные возможности Math
¶
- Сравнение чисел с плавающей запятой с заданной точностью (
isEpsilon
,isEqual
,isLessEqual
,isGreatEqual
). - Преобразование полярных координат в декартовые координаты (
fromPolar
). - Функции для работы с угловыми значениями (
rad
,deg
,normAngle
,middleAngle
,spanAngle
).
Совет
Используйте функции cравнения чисел с плавающей запятой вместо прямого сравнения ==
, чтобы избежать проблем с точностью.
Константы Math
¶
Константа | Описание | Значение |
---|---|---|
Math.EPSILON |
Минимальное положительное число, такое что 1 + Math.EPSILON = 1 при работе с числами с плавающей точкой |
1e-7 |
Методы объекта Math
¶
Ниже приведен список доступных методов, предоставляемых объектом Math
. Щелкните имя метода, чтобы увидеть его подробное описание и примеры.
Метод | Описание |
---|---|
Math.deg() | Перевод радиан в градусы. |
Math.rad() | Перевод градусов в радианы. |
Math.fromPolar() | Перевод координат точки из полярных координат (radius, angle) в декартовые (x, y) . |
Math.normAngle() | Нормализует значение угла, возвращает значение в диапазоне от 0° до 360°. |
Math.normAngleAt180() | Нормализует значение угла, возвращает значение в диапазоне от -180° до +180°. |
Math.spanAngle() | Расстояние между углами a₁ и a₂ . |
Math.normSpanAngle() | Нормализует значение расстояния между углами, возвращает значение в диапазоне от 0° до 360°. |
Math.middleAngle() | Расчет среднего угла между углами a₁ и a₂ с учетом направления. |
Math.isEpsilon() | Возвращает true , если абсолютное значение arg ≤ eps . |
Math.isEqual() | Возвращает true , если разница между arg₁ и arg₂ ≤ eps . |
Math.isLessEqual() | Возвращает true , если arg₁ ≤ arg₂ с учетом точности eps . |
Math.isGreatEqual() | Возвращает true , если arg₁ ≥ arg₂ с учетом точности eps . |
round() | Округлить число до заданой точности. |
Общая структура объекта Math
¶
graph LR
Parent[JS-Math] --> A[Math]
A[Math] --> B[Сравнение чисел]
A --> C[Преобразование координат]
A --> D[Работа с углами]
B --> B1["isEpsilon()"]
B --> B2["isEqual()"]
B --> B3["isLessEqual()"]
B --> B4["isGreatEqual()"]
C --> C1["fromPolar()"]
D --> D1["rad()"]
D --> D2["deg()"]
D --> D3["normAngle()"]
D --> D4["middleAngle()"]
D --> D5["spanAngle()"]
%% === Стили === %%
%%classDef math fill:#f0f8ff,stroke:#3366cc,stroke-width:2px;
%%classDef compare fill:#fff5e6,stroke:#cc6600,stroke-width:2px;
%%classDef coords fill:#e6ffe6,stroke:#009933,stroke-width:2px;
%%classDef angles fill:#ffe6e6,stroke:#cc0052,stroke-width:2px;
%%classDef func fill:#ffffff,stroke:#aaaaaa,stroke-width:1px;
%%=== Применяем стили к узлам === %%
%%class Parent,A math
%%class B compare
%%class C coords
%%class D angles
%%class B1,B2,B3,B4,C1,D1,D2,D3,D4 func
Last update: 7 августа 2025, 10:42