github.com/doughsay/crystal-open-simplex-noise
1.0.1 / published Aug 10, 2017 / repository
2D, 3D, and 4D open simplex noise in crystal.
Open Simplex Noise
This is an implementation of 2D, 3D, and 4D open simplex noise in crystal.
Installation
Add this to your application's shard.yml:
dependencies:
open-simplex-noise:
github: doughsay/crystal-open-simplex-noise
version: "~> 1.0"
...
Usage
require "open-simplex-noise"
Instantiate a noise generator using an Int64 seed:
noise = OpenSimplexNoise.new(12345_i64)
Use the generate method, passing in either 2, 3, or 4 Float64s to generate noise:
noise.generate(1.0, 2.0)
#=> -0.08284024020120388
Examples
2D Noise:

3D Noise (2D slice):

4D Noise (2D slice):

Contributing
- Fork it ( https://github.com/doughsay/open-simplex-noise/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- doughsay Chris Dosé - creator, maintainer
Credits
This is mostly just a transliteration of the python version from here: https://github.com/lmas/opensimplex, which itself is a transliteration of Kurt Spencer's original code (released to the public domain).