JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q35298F
  • License GPL-3.0-only

A collection of mathematical utility functions including operations like clamp, lerp, normalize, and more.

Package Exports

  • @vicimpa/math
  • @vicimpa/math/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@vicimpa/math) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Документация библиотеки @vicimpa/math

Библиотека @vicimpa/math предоставляет набор математических функций и констант, расширяя стандартный объект Math в JavaScript дополнительными утилитами для выполнения распространенных математических операций. Ниже приведено подробное описание доступных функций и констант.

Константы

PI2

  • Описание: Удвоенное значение числа π (PI).
  • Значение: PI * 2

PI1_2

  • Описание: Половина значения числа π (PI).
  • Значение: PI / 2

PI1_3

  • Описание: Одна треть значения числа π (PI).
  • Значение: PI / 3

Функции

rem(v: number, a: number): number

  • Описание: Вычисляет остаток от деления v на a.
  • Параметры:
    • v: Делимое.
    • a: Делитель.
  • Возвращает: Остаток от деления v на a.

rems(v: number, a: number): number

  • Описание: Вычисляет остаток от деления v на a, гарантируя положительный результат.
  • Параметры:
    • v: Делимое.
    • a: Делитель.
  • Возвращает: Положительный остаток от деления v на a.

clamp(v: number, a: number, b: number): number

  • Описание: Ограничивает значение v в диапазоне [a, b].
  • Параметры:
    • v: Значение для ограничения.
    • a: Нижняя граница.
    • b: Верхняя граница.
  • Возвращает: Ограниченное значение.

lerp(a: number, b: number, i: number): number

  • Описание: Линейно интерполирует между a и b по коэффициенту i.
  • Параметры:
    • a: Начальное значение.
    • b: Конечное значение.
    • i: Коэффициент интерполяции (от 0 до 1).
  • Возвращает: Интерполированное значение.

normalize(a: number, min: number, max: number): number

  • Описание: Нормализует значение a в диапазоне [0, 1] на основе min и max.
  • Параметры:
    • a: Значение для нормализации.
    • min: Минимальное значение диапазона.
    • max: Максимальное значение диапазона.
  • Возвращает: Нормализованное значение.

rec(v: number): number

  • Описание: Вычисляет обратное значение для v.
  • Параметры:
    • v: Значение.
  • Возвращает: Обратное значение для v, или v, если v равно нулю.

precision(v: number, n = 1): number

  • Описание: Округляет значение v до ближайшего кратного n.
  • Параметры:
    • v: Значение для округления.
    • n: Точность (по умолчанию 1).
  • Возвращает: Округленное значение.

Расширения объекта Math

Библиотека также повторно экспортирует все стандартные методы и константы из объекта Math в JavaScript для удобства:

  • abs
  • acos
  • acosh
  • asin
  • asinh
  • atan
  • atan2
  • atanh
  • cbrt
  • ceil
  • clz32
  • cos
  • cosh
  • E
  • exp
  • expm1
  • floor
  • fround
  • hypot
  • imul
  • log
  • log10
  • log1p
  • log2
  • LN10
  • LN2
  • LOG10E
  • LOG2E
  • max
  • min
  • pow
  • PI
  • random
  • round
  • sign
  • sin
  • sinh
  • sqrt
  • SQRT1_2
  • SQRT2
  • tan
  • tanh
  • trunc

Это позволяет использовать все стандартные математические функции и константы вместе с дополнительными утилитами, предоставляемыми библиотекой @vicimpa/math.