fractal-noise-js
                                
                                 fractal-noise-js copied to clipboard
                                
                                    fractal-noise-js copied to clipboard
                            
                            
                            
                        Fractal noise functions
Fractal Noise
Fractal noise functions designed to be used with any noise generation algorithm.
- Deno module: https://deno.land/x/fractal_noise
- NPM package: fractal-noise
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 })

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

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

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

makeRectangle(width, height, valueNoise2D)

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

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.