Skip to main content

Class: MathUtils

A utitlity class for basic math.

Constructors

constructor

new MathUtils(): MathUtils

Returns

MathUtils

Properties

HALF_PI

Static Readonly HALF_PI: number

Half the value of pi.

Defined in

src/sdk/math/MathUtils.ts:9


SQRT1_3

Static Readonly SQRT1_3: number

Square root of 1/3.

Defined in

src/sdk/math/MathUtils.ts:15


SQRT3

Static Readonly SQRT3: number

Square root of 3.

Defined in

src/sdk/math/MathUtils.ts:12


TWO_PI

Static Readonly TWO_PI: number

Twice the value of pi.

Defined in

src/sdk/math/MathUtils.ts:6

Methods

ceil

ceil(value, precision?): number

Ceils a number.

Parameters

NameTypeDefault valueDescription
valuenumberundefinedThe number to ceil.
precisionnumber1The precision with which to ceil. Defaults to 1.

Returns

number

The ceiled number.

Defined in

src/sdk/math/MathUtils.ts:45


clamp

clamp(value, min, max): number

Clamps a numerical value to the min/max range.

Parameters

NameTypeDescription
valuenumberThe value to be clamped.
minnumberThe minimum.
maxnumberThe maximum.

Returns

number

The clamped numerical value..

Defined in

src/sdk/math/MathUtils.ts:25


diffAngle

diffAngle(start, end, directional?): number

Calculates the angular difference between two angles in the range [0, 2 * pi). The calculation supports both directional and non-directional differences. The directional difference is the angle swept from the start angle to the end angle proceeding in the direction of increasing angle. The non-directional difference is the smaller of the two angles swept from the start angle to the end angle proceeding in either direction.

Parameters

NameTypeDefault valueDescription
startnumberundefinedThe starting angle, in radians.
endnumberundefinedThe ending angle, in radians.
directionalbooleantrueWhether to calculate the directional difference. Defaults to true.

Returns

number

The angular difference between the two angles, in radians, in the range [0, 2 * pi).

Defined in

src/sdk/math/MathUtils.ts:69


diffAngleDeg

diffAngleDeg(start, end, directional?): number

Calculates the angular difference between two angles in the range [0, 360). The calculation supports both directional and non-directional differences. The directional difference is the angle swept from the start angle to the end angle proceeding in the direction of increasing angle. The non-directional difference is the smaller of the two angles swept from the start angle to the end angle proceeding in either direction.

Parameters

NameTypeDefault valueDescription
startnumberundefinedThe starting angle, in degrees.
endnumberundefinedThe ending angle, in degrees.
directionalbooleantrueWhether to calculate the directional difference. Defaults to true.

Returns

number

The angular difference between the two angles, in degrees, in the range [0, 360).

Defined in

src/sdk/math/MathUtils.ts:84


floor

floor(value, precision?): number

Floors a number.

Parameters

NameTypeDefault valueDescription
valuenumberundefinedThe number to floor.
precisionnumber1The precision with which to floor. Defaults to 1.

Returns

number

The floored number.

Defined in

src/sdk/math/MathUtils.ts:55


hardSign

hardSign(n): number

Gets the sign of a number, including 0.

Parameters

NameTypeDescription
nnumberThe number to get the sign of.

Returns

number

1.0 if the number is positive, +0 or Infinity; -1.0 if the number is negative, -0 or -Infinity; NaN if the number is NaN

Defined in

src/sdk/math/MathUtils.ts:141


lerp

lerp(x, x0, x1, y0, y1, clampStart?, clampEnd?): number

Linearly interpolates a keyed value along one dimension.

Parameters

NameTypeDefault valueDescription
xnumberundefinedThe key of the value to interpolate.
x0numberundefinedThe key of the first known value.
x1numberundefinedThe key of the second known value.
y0numberundefinedThe first known value.
y1numberundefinedThe second known value.
clampStartbooleanfalseWhether to clamp the interpolated value to the first known value. Defaults to false.
clampEndbooleanfalseWhether to clamp the interpolated value to the second known value. Defaults to false.

Returns

number

The interpolated value corresponding to the specified key.

Defined in

src/sdk/math/MathUtils.ts:100


lerpVector

lerpVector(out, x, x0, x1, y0, y1, clampStart?, clampEnd?): Float64Array

Linearly interpolates a keyed vector along one dimension. If the known vectors and the result vector have unequal lengths, then only the components shared by all vectors are interpolated in the result.

Parameters

NameTypeDefault valueDescription
outFloat64ArrayundefinedThe object to which to write the result.
xnumberundefinedThe key of the vector to interpolate.
x0numberundefinedThe key of the first known vector.
x1numberundefinedThe key of the second known vector.
y0ArrayLike<number>undefinedThe first known vector.
y1ArrayLike<number>undefinedThe second known vector.
clampStartbooleanfalseWhether to clamp the components of the interpolated vector to those of the first known vector. Defaults to false.
clampEndbooleanfalseWhether to clamp the components of the interpolated vector to those of the second known vector. Defaults to false.

Returns

Float64Array

The interpolated vector corresponding to the specified key.

Defined in

src/sdk/math/MathUtils.ts:124


round

round(value, precision?): number

Rounds a number.

Parameters

NameTypeDefault valueDescription
valuenumberundefinedThe number to round.
precisionnumber1The precision with which to round. Defaults to 1.

Returns

number

The rounded number.

Defined in

src/sdk/math/MathUtils.ts:35