Math utilities for chart manipulation: vectors, matrices, interpolation, random/noise, rotation, and array helpers.
vec2
vec2Add
vec2Sub
vec2Scale
vec2Lerp
vec2Rotate
vec2Normalize
mat3Identity
mat3TRS
mat3Mul
mat3TransformVec2
clamp
lerp
inverseLerp
remap
smoothstep
degToRad
radToDeg
wrapAngle
angleDifference
lerpAngle
randomRange
randomInt
randomPick
shuffle
createSeededRandom
valueNoise1D
valueNoise2D
fbm2D
linspace
arange
sum
average
minMax
groupBy
binarySearchRight
deepClone
approxEqual
fract
mod
sign
import { vec2, vec2Add, vec2Normalize, lerp, clamp } from './math';// Normalize a direction vector and advance along itconst dir = vec2Normalize(vec2(3, 4)); // { x: 0.6, y: 0.8 }const pos = vec2Add(vec2(0, 0), dir); // { x: 0.6, y: 0.8 }// Smooth fade from 0 → 255 alphaconst alpha = Math.round(lerp(0, 255, clamp(t, 0, 1))); Copy
import { vec2, vec2Add, vec2Normalize, lerp, clamp } from './math';// Normalize a direction vector and advance along itconst dir = vec2Normalize(vec2(3, 4)); // { x: 0.6, y: 0.8 }const pos = vec2Add(vec2(0, 0), dir); // { x: 0.6, y: 0.8 }// Smooth fade from 0 → 255 alphaconst alpha = Math.round(lerp(0, 255, clamp(t, 0, 1)));
Math utilities for chart manipulation: vectors, matrices, interpolation, random/noise, rotation, and array helpers.
Quick reference
vec2,vec2Add,vec2Sub,vec2Scale,vec2Lerp,vec2Rotate,vec2Normalizemat3Identity,mat3TRS,mat3Mul,mat3TransformVec2clamp,lerp,inverseLerp,remap,smoothstep,degToRad,radToDegwrapAngle,angleDifference,lerpAnglerandomRange,randomInt,randomPick,shuffle,createSeededRandomvalueNoise1D,valueNoise2D,fbm2Dlinspace,arange,sum,average,minMax,groupBy,binarySearchRightdeepClone,approxEqual,fract,mod,signExample