Skip to main content

Math Utility Functions

GLSL math function equivalents. Work on both single values and vectors.

Usage

import {config, equals} from '@math.gl/core';

Setting configuration

import {config} from '@math.gl/core';
config.EPSILON = 1e-12;
config.debug = true;
config.printRowMajor = true;
config.precision = 4;

Functions

configure

configure(options)

checkNumber

checkNumber(value)

formatValue

formatValue(value, precision = config.precision || 4)

isArray

Returns true if value is either an array or a typed array

isArray(value)

Note: does not return true for ArrayBuffers and DataViews

clone

clone(array)If the array has a clone function, calls it, otherwise returns a copy

toRadians

toRadians(degrees)

Works on single values and vectors

toDegrees

toDegrees(radians)

Works on single values and vectors

equals

equals(a, b, epsilon)

  • Works on single values and vectors
  • Numeric values need to be closer than config.EPSILON
  • Objects will be compared with their .equals() method if present.

exactEquals

exactEquals(a, b)

  • Works on single values and vectors.
  • Numeric values need to be exactly identical
  • Objects will be compared with their .exactEquals() method if present.

GLSL equivalents

radians

radians(degrees)

GLSL equivalent: Works on single values and vectors

degrees

degrees(radians)

GLSL equivalent: Works on single values and vectors

sin

sin(radians)

GLSL equivalent: Works on single values and vectors

cos

cos(radians)

GLSL equivalent: Works on single values and vectors

tan

tan(radians)

GLSL equivalent: Works on single values and vectors

asin

asin(radians)

GLSL equivalent: Works on single values and vectors

acos

acos(radians)

GLSL equivalent: Works on single values and vectors

atan

atan(radians)

clamp

clamp(value, min, max)

Remarks

  • When setting global configs, you may need to consider the order of code loadint when using imports and requires