Fractal Noise Js Save

Fractal noise functions

Project README

Fractal Noise

Fractal noise functions designed to be used with any noise generation algorithm.

Examples

These images were all generated using basic value noise with width: 888 and height: 111.

makeCylinderSurface(width, height, valueNoise3D, { frequency: 0.04, octaves: 2 })

Low frequency, double octave cylinder

makeCylinderSurface(width, height, valueNoise3D, { frequency: 0.06, octaves: 8 })

Medium frequency, high octave cylinder

makeLine(width, valueNoise1D) // (Replicated across y-axis)

Default line

makeLine(height, valueNoise1D, { frequency: 0.1 }) // (Replicated across x-axis)

High frequency line

makeRectangle(width, height, valueNoise2D)

Default rectangle

makeRectangle(width, height, valueNoise2D, { frequency: 0.04, octaves: 8 })

Low frequency, high octave rectangle

API

interface Options { amplitude?; frequency?; octaves?; persistence? }
  • amplitude?: number – Defaults to 1.0
  • frequency?: number – Defaults to 1.0
  • octaves?: number – Defaults to 1
  • persistence?: number – Defaults to 0.5
  • scale?: (x: number) => number – Defaults to undefined
makeCuboid(width, height, depth, noise3, options?): number[][][]
  • width: number
  • height: number
  • depth: number
  • noise3: (x: number, y: number, z: number) => number
  • options?: Options = {}

Generates a three-dimensional noise field for a rectangular cuboid.

makeCylinderSurface(circumference, height, noise3, options?): number[][]
  • circumference: number
  • height: number
  • noise3: (x: number, y: number, z: number) => number
  • options?: Options = {}

Generates a two-dimensional noise field formed around a three-dimensional cylinder, such that it is continuous across the x-boundaries.

makeLine(length, noise1, options?): number[]
  • length: number
  • noise1: (x: number) => number
  • options?: Options = {}

Generates a one-dimensional noise field.

makeRectangle(width, height, noise2, options?): number[][]
  • width: number
  • height: number
  • noise2: (x: number, y: number) => number
  • options?: Options = {}

Generates a two-dimensional noise field isolated to width and height (non-continuous noise).

makeSphereSurface(circumference, options?): number[][]
  • circumference: number
  • noise3: (x: number, y: number, z: number) => number
  • options?: Options = {}

Generates a two-dimensional noise field formed on the surface of a three-dimensional sphere.

Open Source Agenda is not affiliated with "Fractal Noise Js" Project. README Source: joshforisha/fractal-noise-js
Stars
55
Open Issues
1
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating