/open-simplex-noise-js

OpenSimplex noise for TypeScript/JavaScript

Primary LanguageTypeScriptThe UnlicenseUnlicense

OpenSimplex Noise

build npm

TypeScript/JavaScript implementation of OpenSimplex noise

Install

npm install open-simplex-noise

Example

import OpenSimplexNoise from 'open-simplex-noise';

const [width, height] = [888, 222];
const canvas = document.querySelector('canvas');
const ctx = canvas.getContext('2d');
const imageData = ctx.createImageData(width, height);
const openSimplex = new OpenSimplexNoise(Date.now());

for (let x = 0; x < width; x++) {
  for (let y = 0; y < height; y++) {
    const i = (x + y * width) * 4;
    const value = (openSimplex.noise2D(x, y) + 1) * 128;
    imageData.data[i] = value;
    imageData.data[i + 1] = value;
    imageData.data[i + 2] = value;
    imageData.data[i + 3] = 255;
  }
}
ctx.putImageData(imageData, 0, 0);

Example output

API

class OpenSimplexNoise

constructor (seed: number)

array2D (width: number, height: number) => number[][]

array3D (width: number, height: number, depth: number) => number[][][]

array4D (width: number, height: number, depth: number, wLength: number) => number[][][][]

noise2D (x: number, y: number) => number

noise3D (x: number, y: number, z: number) => number

noise4D (x: number, y: number, z: number, w: number) => number