Skip to content

mathAPI

const mathAPI: object

Defined in: packages/threeplay/src/core/math.ts:134

The math helpers exposed on the engine (and on window in global mode).

chance: (p) => boolean

true with probability p (0–1).

number

boolean

choose: <T>(list) => T

A random element of a list.

T

readonly T[]

T

clamp: (v, min, max) => number

number

number

number

number

deg2rad: (deg) => number

number

number

easings: object

Common easings for tween().

easeInBack: (t) => number

number

number

easeInBounce: (t) => number

number

number

easeInCubic: (t) => number

number

number

easeInOutCubic: (t) => number

number

number

easeInOutQuad: (t) => number

number

number

easeInOutSine: (t) => number

number

number

easeInQuad: (t) => number

number

number

easeInSine: (t) => number

number

number

easeOutBack: (t) => number

number

number

easeOutBounce: Easing = bounceOut

easeOutCubic: (t) => number

number

number

easeOutElastic: (t) => number

number

number

easeOutQuad: (t) => number

number

number

easeOutSine: (t) => number

number

number

linear: (t) => number

number

number

lerp: (a, b, t) => number

number

number

number

number

map: (v, l1, h1, l2, h2) => number

Maps v from the range [l1, h1] to [l2, h2].

number

number

number

number

number

number

rad2deg: (rad) => number

number

number

rand: (a?, b?) => number

rand() 0–1, rand(n) 0–n, rand(a, b) a–b.

number

number

number

randi: (a?, b?) => number

Like rand but returns an integer; randi(a, b) includes a, excludes b.

number

number

number

rgb: (r?, g?, b?) => Color

A color (a THREE.Color): rgb(255, 120, 0) in 0–255, or anything three.js understands: rgb("#ff7800"), rgb("tomato"), rgb(0xff7800), rgb([255, 120, 0]).

ColorLike

number

number

Color

vec2: (x?, y?) => Vector2

A 2D vector (a THREE.Vector2), used for screen and HUD coordinates.

number | { x: number; y: number; }

number

Vector2

vec3: (x?, y?, z?) => Vector3

A 3D vector (a THREE.Vector3). vec3() is (0,0,0), vec3(1) is (1,1,1), vec3(v) copies another vector.

number | { x: number; y: number; z: number; }

number

number

Vector3

wave: (lo, hi, t) => number

Oscillates between lo and hi as t advances (one cycle every 2π).

number

number

number

number