diff --git a/README.md b/README.md index ff0594de..80e19917 100644 --- a/README.md +++ b/README.md @@ -190,8 +190,8 @@ See [examples](examples). - [surface/sf_solidify](https://openhome.cc/eGossip/OpenSCAD/lib2x-sf_solidify.html) ### Noise (2.3 Preview) -- noise/nz_perlin1 -- noise/nz_perlin1s +- [noise/nz_perlin1](https://openhome.cc/eGossip/OpenSCAD/lib2x-nz_perlin1.html) +- [noise/nz_perlin1s](https://openhome.cc/eGossip/OpenSCAD/lib2x-nz_perlin1s.html) - noise/nz_perlin2 - noise/nz_perlin2s - noise/nz_perlin3 diff --git a/docs/images/lib2x-nz_perlin1-1.JPG b/docs/images/lib2x-nz_perlin1-1.JPG new file mode 100644 index 00000000..d09e7ae8 Binary files /dev/null and b/docs/images/lib2x-nz_perlin1-1.JPG differ diff --git a/docs/images/lib2x-nz_perlin1s-1.JPG b/docs/images/lib2x-nz_perlin1s-1.JPG new file mode 100644 index 00000000..d25bc181 Binary files /dev/null and b/docs/images/lib2x-nz_perlin1s-1.JPG differ diff --git a/docs/lib2x-nz_perlin1.md b/docs/lib2x-nz_perlin1.md new file mode 100644 index 00000000..35c7b76c --- /dev/null +++ b/docs/lib2x-nz_perlin1.md @@ -0,0 +1,23 @@ +# nz_perlin1 + +Returns the 1D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) value at the x coordinate. + +**Since:** 2.3 + +## Parameters + +- `x` : The x coordinate. +- `seed` : The random seed. + +## Examples + + use ; + use ; + use ; + + seed = rand(); + hull_polyline2d( + [for(x = [0:.1:10]) [x, nz_perlin1(x, seed)]], width = .1 + ); + +![nz_perlin1](images/lib2x-nz_perlin1-1.JPG) \ No newline at end of file diff --git a/docs/lib2x-nz_perlin1s.md b/docs/lib2x-nz_perlin1s.md new file mode 100644 index 00000000..00d73675 --- /dev/null +++ b/docs/lib2x-nz_perlin1s.md @@ -0,0 +1,23 @@ +# nz_perlin1s + +Returns 1D [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) values at x coordinates. + +**Since:** 2.3 + +## Parameters + +- `xs` : The x coordinate. +- `seed` : The random seed. If it's ignored, a randomized value will be used. + +## Examples + + use ; + use ; + + xs = [for(x = [0:.1:10]) x]; + ys = nz_perlin1s(xs); + points = [for(i = [0:len(xs) - 1]) [xs[i], ys[i]]]; + + hull_polyline2d(points, width = .1); + +![nz_perlin1s](images/lib2x-nz_perlin1s-1.JPG) \ No newline at end of file diff --git a/src/noise/nz_perlin1.scad b/src/noise/nz_perlin1.scad index 187b95e3..e013076f 100644 --- a/src/noise/nz_perlin1.scad +++ b/src/noise/nz_perlin1.scad @@ -1,4 +1,13 @@ -use ; +/** +* nz_perlin1.scad +* +* @copyright Justin Lin, 2020 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-nz_perlin1.html +* +**/ + use ; function nz_perlin1(x, seed) = _pnoise1_impl(x, seed % 256); \ No newline at end of file diff --git a/src/noise/nz_perlin1s.scad b/src/noise/nz_perlin1s.scad index 7d2e3b6a..20a797a6 100644 --- a/src/noise/nz_perlin1s.scad +++ b/src/noise/nz_perlin1s.scad @@ -1,3 +1,13 @@ +/** +* nz_perlin1s.scad +* +* @copyright Justin Lin, 2020 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-nz_perlin1s.html +* +**/ + use ; use ;