This is a project to get all the fancy noises out there under one roof... I was getting super annoyed having to call different noises with different constructors, so I figured lets make this conform to my head. Most are based off of others public examples I'll make sure to credit them, but for the most part this is a whole new reworking. Quite a few bugs for right now, and Im sure the way doing the seed calculations is pretty hacky... Umm a few of the calculations are my own so my bad if they syck? Once the project is done, there will be a ton of different ways to generate noise, and I will be porting a bunch of GLSL noises I did over as well along with my Worley System and others that I can find.

A Bunch of Noises and functions are turned off for now, while I make changes to the script, currently active: Simple2D, Simple3D, Perlin2D, Perlin3D

A Bunch of Noises and functions are turned off for now, while I make changes to the script, currently active: Simple2D, Simple3D, Perlin2D, Perlin3D

var noise = new dN(type => string ,seed => string, args => {}); noise.getValue(args =>{});

This is the quickest to compute, and is based off of Stefan Gustavson Noise Calculations.var noise = new dN('Simple2' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

amplitude
oftype === number > 0
amplitude refers to the range that the current octave at which the result can be in.

octave
oftype === int >= 1
Each octave has less influence on the final result. Each octave adds a linear increase in code execution time, do not use more than a few octaves if not preprocessed.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

scale
oftype === number > 0
This will Multipy the x,y input on the ._getValue() method. Effectivly sizing up the noise. *A scale of 1 is effectivly random noise

scaleFloor
oftype === bool
Floors the scaling of the noise to whole numbers. This is good for a pixlated look.

output
oftype === {type: oftype === (string => 'number' || 'color' ), values: oftype === (Array(4) => [0<=>1,0<=>1,0<=>1,0<=>1])}
In order to change the output from a single value to a color you must include this object as and argument. If you are simply returning a value do not worry about this argument. If you do include it the value array is structured as R,G,B,A and their return value will be multiplied by the respective value.

#### Methods

._getValue(args)
args === {x:#,y:#}
Returns the Value of the noise according to the set output Parameters. Requires a Object with x and y keyvalues.

This is the quickest to compute, and is based off of Stefan Gustavson Noise Calculations.var noise = new dN('Simple3' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

amplitude
oftype === number > 0
amplitude refers to the range that the current octave at which the result can be in.

octave
oftype === int >= 1
Each octave has less influence on the final result. Each octave adds a linear increase in code execution time, do not use more than a few octaves if not preprocessed.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

scale
oftype === number > 0
This will Multipy the x,y input on the ._getValue() method. Effectivly sizing up the noise. *A scale of 1 is effectivly random noise

scaleFloor
oftype === bool
Floors the scaling of the noise to whole numbers. This is good for a pixlated look.

output
oftype === {type: oftype === (string => 'number' || 'color' ), values: oftype === (Array(4) => [0<=>1,0<=>1,0<=>1,0<=>1])}
In order to change the output from a single value to a color you must include this object as and argument. If you are simply returning a value do not worry about this argument. If you do include it the value array is structured as R,G,B,A and their return value will be multiplied by the respective value.

#### Methods

._getValue(args)
args === {x:#,y:#,z:#}
Returns the Value of the noise according to the set output Parameters. Requires a Object with x, y and z keyvalues.

Based off of Stefan Gustavson Noise Calculations.var noise = new dN('Perlin2' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

amplitude
oftype === number > 0
amplitude refers to the range that the current octave at which the result can be in.

octave
oftype === int >= 1
Each octave has less influence on the final result. Each octave adds a linear increase in code execution time, do not use more than a few octaves if not preprocessed.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

scale
oftype === number > 0
This will Multipy the x,y input on the ._getValue() method. Effectivly sizing up the noise. *A scale of 10 is recomended for good output.

scaleFloor
oftype === bool
Floors the scaling of the noise to whole numbers. This is good for a pixlated look.

output
oftype === {type: oftype === (string => 'number' || 'color' ), values: oftype === (Array(4) => [0<=>1,0<=>1,0<=>1,0<=>1])}
In order to change the output from a single value to a color you must include this object as and argument. If you are simply returning a value do not worry about this argument. If you do include it the value array is structured as R,G,B,A and their return value will be multiplied by the respective value.

#### Methods

Based off of Stefan Gustavson Noise Calculations.var noise = new dN('Perlin3' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

scale
oftype === number > 0
This will Multipy the x,y input on the ._getValue() method. Effectivly sizing up the noise. *A scale of 10 is recomended for good output.

#### Methods

._getValue(args)
args === {x:#,y:#,z:#}
Returns the Value of the noise according to the set output Parameters. Requires a Object with x , y and z keyvalues.

My janky version of worley noise, before I really did some research. Produces some cool geometric effects.var noise = new dN('Poorly2' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

scale
oftype === number > 0
This will Multipy the x,y input on the ._getValue() method. Effectivly sizing up the noise. *A scale of 10 is recomended for good output.

#### Methods

._getValue(args)
args === {x:#,y:#
Returns the Value of the noise according to the set output Parameters. Requires a Object with x and y keyvalues.

A Variation of my Poorly System, creates Tile like structures. Will be adding a lot more functionality to this one.var noise = new dN('Tiley2' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

#### Methods

My Variation of a Classic Cellular System. As seen in Tutorial 1.var noise = new dN('Worley2' ,seed => string, args => {}); noise.getValue(args =>{});

#### Arguments

width && height
oftype === number > 0
This sets the size of the underlying lattice

n
oftype === number > 0
Target point to do distance mesurements to.

nPoints
oftype === number > 0
number of points to generate per zone.

style
oftype === string
The calculations for distance. See Distances

frequency
oftype === number > 0
frequency refers to the period or phase at which data is sampled.

persistence
oftype === number > 0
The influence should each successive octave have, quantitatively.

#### Methods

Information coming soon.dN.Mix(x,y,a);

Information coming soon.dN.Mix(x,y,a);

Information coming soon.dN.Mix(x,y,a);

Information coming soon.dN.Mix(x,y,a);

Information coming soon.dN.Mix(x,y,a);

Also I will be posting tutorials on this website dealing with the development of noises and their uses. Be Sure to check out the first in the serise!

2016 Andrew V Butt Sr. aka Pryme8