extendedMath

Members

(static, constant) HalfPI :number

Source:
Since:
  • 1.0.0
Default Value:
  • 1.57079632679489661923
A static constant number representing 1/2 of PI.
Type:
  • number

(static, constant) QuarterPI :number

Source:
Since:
  • 1.0.0
Default Value:
  • 0.78539816339744830962
A static constant number representing 1/4 of PI.
Type:
  • number

(static, constant) TwoPI :number

Source:
Since:
  • 1.0.0
Default Value:
  • 6.28318530717958647693
A static constant number representing 2x PI.
Type:
  • number

Methods

(static) clamp(value, min, max) → {number}

Source:
Since:
  • 1.0.0
Clamps a number between a minimum and maximum value. +/- Infinity are not valid minimum / maximum values.
Example
console.log(extendedMath.clamp(3.141592654, -1, 3)); // 3
console.log(extendedMath.clamp(-1.337, -4.2, 6.9)); // -1.337
console.log(extendedMath.clamp(-800, -2.8, 1)); // -2.8
console.log(extendedMath.clamp(1, 2, Infinity)); // NaN
console.log(extendedMath.clamp(1, -Infinity, 4)); // NaN
console.log(extendedMath.clamp(Infinity, 0, 1)); // NaN
Parameters:
Name Type Description
value number The number to clamp.
min number The minimum number to clamp to.
max number The maximum number to clamp to.
Returns:
A value which is inclusively adjusted between the specified mimum and maximum values, or NaN if any arguments are not valid numbers.
Type
number

(static) compareAnglesDegrees(value, value) → {number}

Source:
Since:
  • 1.0.0
Performs a comparison on two angles represented in degrees. If an angle is less than 0 or greater than 360, it is transformed so that it is within this scale before comparing.
Example
console.log(extendedMath.compareAnglesDegrees(0, 360)); // 0
console.log(extendedMath.compareAnglesDegrees(-90, 90)); // 1
console.log(extendedMath.compareAnglesDegrees(120, 30)); // -1
console.log(extendedMath.compareAnglesDegrees(-Infinity, 1)); // NaN
console.log(extendedMath.compareAnglesDegrees(-2, NaN)); // NaN
Parameters:
Name Type Description
value a An angle value represented in degrees.
value b Another angle value represented in degrees to compare against.
Returns:
A value of 0 if the .angles are equal, 1 if the first angle is to the left of the second angle, or -1 if the first angle is to the right of the second angle. If any arguments are not valid numbers, then NaN is returned instead.
Type
number

(static) compareAnglesRadians(value, value) → {number}

Source:
Since:
  • 1.0.0
Performs a comparison on two angles represented in radians. If an angle is less than 0 or greater than 360, it is transformed so that it is within this scale before comparing.
Example
console.log(extendedMath.compareAnglesRadians(0, Math.PI * 2)); // 0
console.log(extendedMath.compareAnglesRadians(-(Math.PI / 2), Math.PI / 2)); // 1
console.log(extendedMath.compareAnglesRadians(2 * (Math.PI / 3), (Math.PI / 3))); // -1
console.log(extendedMath.compareAnglesRadians(-Infinity, 1)); // NaN
console.log(extendedMath.compareAnglesRadians(-2, NaN)); // NaN
Parameters:
Name Type Description
value a An angle value represented in radians.
value b Another angle value represented in radians to compare against.
Returns:
A value of 0 if the .angles are equal, 1 if the first angle is to the left of the second angle, or -1 if the first angle is to the right of the second angle. If any arguments are not valid numbers, then NaN is returned instead.
Type
number

(static) degreesToRadians(value) → {number}

Source:
Since:
  • 1.0.0
Converts an angle value in degrees to radians.
Example
console.log(extendedMath.degreesToRadians(360)); // 6.283185307179586
console.log(extendedMath.degreesToRadians(180)); // 3.141592653589793
console.log(extendedMath.degreesToRadians(Infinity)); // NaN
console.log(extendedMath.degreesToRadians(NaN)); // NaN
Parameters:
Name Type Description
value number An angle value represented in degrees.
Returns:
A value representing the angle in radians instead of degrees, or NaN if the argument is not a valid number.
Type
number

(static) difference(a, b) → {number}

Source:
Since:
  • 1.0.8
Calculates the positive difference between two numbers. Values must be valid finite numbers.
Example
console.log(extendedMath.difference(3, 9)); // 6
console.log(extendedMath.difference(4, -4)); // 8
console.log(extendedMath.difference(Infinity, 4)); // NaN
console.log(extendedMath.difference(NaN, 8080)); // NaN
Parameters:
Name Type Description
a number The first number.
b number The second number.
Returns:
A positive value representing the difference between two numbers, or NaN if either argument is not a valid number.
Type
number

(static) distance(a, b) → {number}

Source:
Since:
  • 1.0.0
Deprecated:
  • Renamed to difference so the unit context of the values is not assumed.
See:
Calculates the positive distance between two numbers.
Example
console.log(extendedMath.distance(3, 9)); // 6
console.log(extendedMath.distance(4, -4)); // 8
console.log(extendedMath.distance(Infinity, 4)); // NaN
console.log(extendedMath.distance(NaN, 8080)); // NaN
Parameters:
Name Type Description
a number The first number.
b number The second number.
Returns:
A positive value representing the distance between two numbers, or NaN if either argument is not a valid number.
Type
number

(static) lerp(a, b, amount) → {number}

Source:
Since:
  • 1.0.0
Linerarly interpolates between two numbers relative to a multiplier value.
Example
console.log(extendedMath.lerp(0, 1.5, 2)); // 3
console.log(extendedMath.lerp(-4, 8, 0.5)); // 2
console.log(extendedMath.lerp(0.5, 1.5, 0.75)); // 1.25
console.log(extendedMath.lerp(0, 1, Infinity)); // NaN
console.log(extendedMath.lerp(NaN, 320, 240)); // NaN
Parameters:
Name Type Description
a number The low end of the interpolation scale.
b number The high end of the interpolation scale.
amount number The multiplier number to interpolate by.
Returns:
A number interpolated relative to the low and high end numbers, or NaN if any of the arguments are not valid numbers.
Type
number

(static) normalize(value, min, max) → {number}

Source:
Since:
  • 1.0.0
Normalizes a number based on a min and max value.
Example
console.log(extendedMath.normalize(1, 0, 2)); // 0.5
console.log(extendedMath.normalize(4, 1, 5)); // 0.75
console.log(extendedMath.normalize(-3, -4, 0)); // 0.25
console.log(extendedMath.normalize(16, 0, 4)); // 4
console.log(extendedMath.normalize(NaN, 0, 1)); // NaN
console.log(extendedMath.normalize(1, -Infinity, 2)); // NaN
Parameters:
Name Type Description
value number The number to normalize.
min number The low end number to normalize relative to.
max number The high end number to normalize relative to.
Returns:
A number normalized relative to the low and high end values, or NaN if any of the arguments are not valid numbers.
Type
number

(static) radiansToDegrees(value) → {number}

Source:
Since:
  • 1.0.0
Converts an angle value in radians to degrees.
Example
console.log(extendedMath.radiansToDegrees(Math.PI * 2)); // 360
console.log(extendedMath.radiansToDegrees(Math.PI / 2)); // 90
console.log(extendedMath.radiansToDegrees(-Infinity)); // NaN
console.log(extendedMath.radiansToDegrees(NaN)); // NaN
Parameters:
Name Type Description
value number An angle value represented in radians.
Returns:
A value representing the angle in degrees instead of radians, or NaN if the argument is not a valid number.
Type
number