From 6304ce39e0a99b4c781f04b73a8ae8acb812b48a Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 5 Apr 2020 16:20:23 +0800 Subject: [PATCH] add doc --- README.md | 2 +- docs/images/lib2x-contours-1.JPG | Bin 0 -> 84925 bytes docs/lib2x-contours.md | 51 +++++++++++++++++++++++++++++++ src/contours.scad | 10 ++++++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 docs/images/lib2x-contours-1.JPG create mode 100644 docs/lib2x-contours.md diff --git a/README.md b/README.md index ce904a5a..ff0594de 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ See [examples](examples). - [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_smooth.html) - [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-midpt_smooth.html) - [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_polyline.html) -- contours (2.3 Preview) +- [contours](https://openhome.cc/eGossip/OpenSCAD/lib2x-contours.html) (2.3 Preview) ### Path - [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc_path.html) diff --git a/docs/images/lib2x-contours-1.JPG b/docs/images/lib2x-contours-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..cccc1ec94f81cc3d4b255d256bc0ea4c742f0d39 GIT binary patch literal 84925 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/lib2x-contours.md b/docs/lib2x-contours.md new file mode 100644 index 00000000..c291166a --- /dev/null +++ b/docs/lib2x-contours.md @@ -0,0 +1,51 @@ +# contours + +Computes contour polygons by applying [marching squares](https://en.wikipedia.org/wiki/Marching_squares) to a rectangular list of numeric values. + +**Since:** 2.3 + +## Parameters + +- `points` : 2 value array `[x, y]`, rectangle with dimensions `x` and `y`. +- `threshold` : When applying a threshold value, the function returns isolines. When applying upper and lower threshold values, it returns isobands. + +## Examples + + use ; + use ; + use ; + + min_value = 1; + max_value = 360; + resolution = 10; + + function f(x, y) = sin(x) * cos(y) * 30; + + points = [ + for(y = [min_value:resolution:max_value]) + [ + for(x = [min_value:resolution:max_value]) + [x, y, f(x, y)] + ] + ]; + + function_grapher(points, 1); + + translate([max_value, 0, 0]) + for(z = [-30:5:30]) { + translate([0, 0, z]) + linear_extrude(1) + for(isoline = contours(points, z)) { + hull_polyline2d(isoline, width = 1); + } + } + + translate([0, max_value]) + for(z = [-30:5:30]) { + linear_extrude(35 + z) + for(isoband = contours(points, [z, z + 5])) { + polygon([for(p = isoband) [p[0], p[1]]]); + } + } + +![contours](images/lib2x-contours-1.JPG) diff --git a/src/contours.scad b/src/contours.scad index 95949ece..281ff381 100644 --- a/src/contours.scad +++ b/src/contours.scad @@ -1,3 +1,13 @@ +/** +* contours.scad +* +* @copyright Justin Lin, 2020 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-contours.html +* +**/ + use <_impl/_contours_impl.scad>; function contours(points, threshold) =