From 98b9264fcb7b432ab4b931cfb48c205c07c0fd59 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 5 Apr 2020 20:12:08 +0800 Subject: [PATCH] add docs --- README.md | 4 ++-- docs/images/lib2x-nz_perlin1-1.JPG | Bin 0 -> 21620 bytes docs/images/lib2x-nz_perlin1s-1.JPG | Bin 0 -> 25158 bytes docs/lib2x-nz_perlin1.md | 23 +++++++++++++++++++++++ docs/lib2x-nz_perlin1s.md | 23 +++++++++++++++++++++++ src/noise/nz_perlin1.scad | 11 ++++++++++- src/noise/nz_perlin1s.scad | 10 ++++++++++ 7 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 docs/images/lib2x-nz_perlin1-1.JPG create mode 100644 docs/images/lib2x-nz_perlin1s-1.JPG create mode 100644 docs/lib2x-nz_perlin1.md create mode 100644 docs/lib2x-nz_perlin1s.md 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 0000000000000000000000000000000000000000..d09e7ae8069f5f48f5e26445a3cc2648a96985ce GIT binary patch literal 21620 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 literal 0 HcmV?d00001 diff --git a/docs/images/lib2x-nz_perlin1s-1.JPG b/docs/images/lib2x-nz_perlin1s-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..d25bc181b1f6ec67c8c201926f968efd4ce3dad9 GIT binary patch literal 25158 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 + 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 ;