@okiba/math

1.0.26 • Public • Published

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

Dependents (5)

Package Sidebar

Install

npm i @okiba/math

Weekly Downloads

1

Version

1.0.26

License

MIT

Unpacked Size

9.34 kB

Total Files

5

Last publish

Collaborators

  • fiad
  • ghzmdr
  • lavolpecheprogramma