spatial-noise
Version:
Spatially deterministic noise generators
63 lines (42 loc) • 1.52 kB
Markdown
spatial-noise
=============
Spatially determinisitc n-dimensional noise generators. Useful for things like games, procedural generation and quick testing of numerical algorithms.
[<img src=https://raw.github.com/mikolalysenko/spatial-noise/master/images/noise2d.png>](http://mikolalysenko.github.io/spatial-noise/)
[Try it yourself in your browser.](http://mikolalysenko.github.io/spatial-noise/)
## Install
npm install spatial-noise
## Example
```javascript
var sn = require("spatial-noise")
//Generate noise values on a grid
for(var i=0; i<10; ++i) {
for(var j=0; j<10; ++j) {
console.log(i, j, "->", sn(i, j))
}
}
//Optimized methods are available for up to 4 dimensions
var t = sn.noise4d(10.01, 0.5, 10.0, Date.now())
//You can also use floating point precision, which is slightly faster
var s = sn.noise2f(5, 6)
```
## API
```javascript
var sn = require("spatial-noise")
```
### Double Precision
* `sn.noise1d(x)`
* `sn.noise2d(x,y)`
* `sn.noise3d(x,y,z)`
* `sn.noise4d(x,y,z,t)`
* `sn.noiseNd( ... )`
Generates a spatially varying noise function in some fixed dimension taking doubles as arguments.
**Note** `require("spatial-noise")` is an alias for `sn.noiseNd( ... )` and takes a variable number of arguments.
### Float Precision
* `sn.noise1f(x)`
* `sn.noise2f(x,y)`
* `sn.noise3f(x,y,z)`
* `sn.noise4f(x,y,z,t)`
* `sn.noiseNf( ... )`
Same deal as above, except arguments are all 32 bit floats instead of 64 bit doubles.
# Credits
(c) 2013 Mikola Lysenko. MIT License