@okiba/math
v1.0.26
Published
Math functions used in okiba.js
Downloads
121
Readme
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