Okiba / math
Collection of math functions
__
Installation
npm i --save @okiba/math
Or import it directly in the browser
<script type="module" src="https://unpkg.com/@okiba/math/index.js"></script>
Usage
import math from '@okiba/math'
🛑
Untranspiled code Okiba Core packages are not transpiled, so don't forget to transpile them with your favourite bundler. For example, using Babel with Webpack, you should prevent imports from okiba to be excluded from transpilation, like follows:
{
test: /\.js$/,
exclude: /node_modules\/(?!(@okiba)\/).*/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
lerp(min, max, fraction)
Linear interpolation between a two values
import {lerp} from '@okiba/math'
const xPosition = lerp(0, 100, 0.5)
console.log(xPosition) // 50
Arguments
min
: Number
+ Minimum possible value
max
: Number
+ Maximum possible value
fraction
: Number
+ Current position
Returns
Number
The interpolated value
map(n, min1, max1, min2, max2)
Maps a value between two ranges
import {map} from '@okiba/math'
const x = map(0.5, 0, 1, 0, 1000)
console.log(x) // 500
const y = map(0, -1, 1, -1000, 1000)
console.log(y) // 0
Arguments
n
: Number
+ Value to map
min1
: Number
+ Source range minimum
max1
: Number
+ Source range maximum
min2
: Number
+ Target range minimum
max2
: Number
+ Target range maximum
Returns
Number
Mapped value
cap(n, min, max)
Limit a value between a min and a max (inclusive)
import {cap} from '@okiba/math'
let progress = 1.1
progress = cap(0, 1, progress)
console.log(progress) // 1
Arguments
n
: Number
+ Value to cap
min
: Number
+ Minimum possible value
max
: Number
+ Maximum possible value
Returns
Number
Capped value
distance(x1, x2)
Distance between two numbers
import {distance} from '@okiba/math'
const x1 = -100, x2 = 100
const d = distance(x1, x2)
console.log(d) // 200
Arguments
x1
: Number
+ First number
x2
: Number
+ Second number
Returns
Number
Distance between the values
round(n, p)
Round a number with given precision, with memoized powers
import {round} from '@okiba/math'
const rounded = distance(1.111111, 3)
console.log(rounded) // 1.111
Arguments
n
: Number
+ Number to round
p
: Number
| optional - default: 3
+ Precision of digits to leave
Returns
Number
Rounded number