math utilities
Installation
npm i @daeinc/math
then,
import { modF, ... } from "@daeinc/math"
Functions
clamp
const clamp: (val: number, min: number, max: number) => number;
constrain
const constrain: (val: number, min: number, max: number) => number;
dist
const dist: (x1: number, y1: number, x2: number, y2: number) => number;
distSq
const distSq: (x1: number, y1: number, x2: number, y2: number) => number;
There's another version in @daeinc/geom
that takes Pt: number[]
type as arguments.
floorF
const floorF: (n: number, digit: number) => number;
map
const map: (
val: number,
s: number,
e: number,
ns: number,
ne: number
) => number;
mix
const mix: (a: number, b: number, t: number) => number;
lerp
const lerp: (a: number, b: number, t: number) => number;
mod
const mod: (n: number, max: number) => number;
modF
const modF: (n: number, max: number, precision?: number) => number;
modIncl
const modIncl: (n: number, max: number) => number;
polarToCartesian
const polarToCartesian: (radius: number, angle: number) => number[];
Converts polar coodrinate to cartesian coordinate. To use a different center point than the default [0, 0]
, do something like this:
result.map((v, i) => v + center[i]);
reflect
const reflect: (num: number, axis: number) => number;
roundF
const roundF: (n: number, digit: number) => number;
snapBy
const snapBy: (n: number, inc: number) => number;
snapToArray
const snapToArray: (n: number, snapArr: number[]) => number;
To do
License
MIT