Skip to content

Latest commit

 

History

History

deno_lib

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

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
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.