1.1.1 • Published 5 years ago

@ishoa/math-helpers v1.1.1

Weekly downloads
15
License
MIT
Repository
github
Last release
5 years ago

Math-Helper-Functions

Some useful Math functions not built into the Javascript Math Object. Mainly useful for Web Games.

Functions

map(x, istart, istop, ostart, ostop) ⇒ Number


Map a value from a range of numbers to another range of numbers x is to istart and istop segment.

Returns: Number - The number that is in the same relation to ostart and ostop segment

ParamTypeDescription
xNumberValue we are testing
istartNumberMin value to test
istopNumberMax value to test
ostartNumberMin value to map to (based on x value)
ostopNumberMax value to map to (based on x value)

Example

map(Math.random(), 0, 1, 10, 20); will provided a number between 10 and 20

limit(x, min, max) ⇒ Number


Limit a value between a min/max value

Returns: Number - Either x, or the nearest limit if x is out of bounds.

ParamTypeDescription
xNumberValue we need to limit
minNumberMin number to return
maxNumberMax number to return

toRad(x) ⇒ Number


Convert the angle, provided in degrees (0-360), into radians (0-2*PI)

Returns: Number - Angle in Radians

ParamTypeDescription
xNumberAngle in Degrees

toDeg(x) ⇒ Number


Convert the angle, provided in radians (0-2*PI), into degrees (0-360)

Returns: Number - Angle in Degrees

ParamTypeDescription
xNumberAngle in Radians

range(min, max) ⇒ Number


Get random Float value between range of numbers

Returns: Number - Return random Float value between min and max range

ParamTypeDescription
minNumberMin range value
maxNumberMax range value

distance(a, b) ⇒ Number


Distance between two points

Returns: Number - Distance between points

ParamTypeDescription
aObjectfirst point {x: 0, y: 0}
bObjectsecond point {x: 0, y: 0}

Example

- can supply 2D or 3D point {x: 0, y: 0, z: 0}

lerp(current, target, time) ⇒ Number


Lerp between current position to target position over a period of time

Returns: Number - Value between current/target over the time

ParamTypeDescription
currentNumberCurrent position value
targetNumberTarget position value
timeNumberTime value

average(a, b) ⇒ Number


Returns the average or the midpoint between two numbers

Returns: Number - - the midpoint between two numbers

ParamTypeDescription
aNumberfirst number
bNumbersecond number

midpoint(v1, v2) ⇒ Object


Get the midpoint between two points

Returns: Object - - {x: x, y: y, z: z}

ParamTypeDescription
v1Object{x: 0, y: 0}
v2Object{x: 0, y: 0}

Example

- Also accepts 3D point {x: 0, y: 0, z: 0}

chance(percent)


Return a true or false for a random chance of a percentage

ParamTypeDescription
percentNumberfloat percentage 0 -> 1

Example

if(chance(0.2)){ console.log('20% chance true') }