open-simplex-noise
    TypeScript icon, indicating that this package has built-in type declarations

    2.5.0 • Public • Published

    OpenSimplex Noise

    TypeScript implementation of OpenSimplex noise.

    Example

    import { makeNoise2D } from "open-simplex-noise";
    // import { makeNoise2D } from "https://deno.land/x/open-simplex-noise/mod.ts"
    
    const [width, height] = [888, 222];
    const canvas = document.querySelector("canvas");
    const ctx = canvas.getContext("2d");
    const imageData = ctx.createImageData(width, height);
    const noise2D = makeNoise2D(Date.now()); // Using current date as seed
    
    for (let x = 0; x < width; x++) {
      for (let y = 0; y < height; y++) {
        const i = (x + y * width) * 4;
        const value = (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

    Fractal Noise

    For fractal noise results, which typically involves scaling frequencies and stacking octaves, see joshforisha/fractal-noise-js (NPM: fractal-noise). The functions there can be used with this library's noise algorithm to obtain varied results like the following:

    Example fractal noise output

    API

    type Noise2D = (x: number, y: number) => number
    type Noise3D = (x: number, y: number, z: number) => number
    type Noise4D = (x: number, y: number, z: number, w: number) => number

    makeNoise2D (seed: number) => Noise2D

    Initializes and returns a function to generate 2D noise.

    makeNoise3D (seed: number) => Noise3D

    Initializes and returns a function to generate 3D noise.

    makeNoise4D (seed: number) => Noise4D

    Initializes and returns a function to generate 4D noise.

    Install

    npm i open-simplex-noise

    DownloadsWeekly Downloads

    233

    Version

    2.5.0

    License

    Unlicense

    Unpacked Size

    44.9 kB

    Total Files

    13

    Last publish

    Collaborators

    • joshforisha