From 9aa4f3455c7aa69b44337e94501ae9e269f173d9 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 11 Dec 2018 18:06:47 +0800 Subject: [PATCH] add --- README.md | 1 + docs/images/lib-shape_starburst-1.JPG | Bin 0 -> 37124 bytes docs/images/lib-shape_starburst-2.JPG | Bin 0 -> 55810 bytes docs/lib-shape_starburst.md | 39 ++++++++++++++++++++++++++ src/shape_starburst.scad | 31 ++++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 docs/images/lib-shape_starburst-1.JPG create mode 100644 docs/images/lib-shape_starburst-2.JPG create mode 100644 docs/lib-shape_starburst.md create mode 100644 src/shape_starburst.scad diff --git a/README.md b/README.md index 78d6ea4f..66836c98 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Too many dependencies? Because OpenSCAD doesn't provide namespace management, I - [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib-shape_trapezium.html) - [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib-shape_cyclicpolygon.html) - [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pentagram.html) + - [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib-shape_starburst.html) - [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib-shape_superformula.html) - [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib-shape_glued2circles.html) - [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib-shape_path_extend.html) diff --git a/docs/images/lib-shape_starburst-1.JPG b/docs/images/lib-shape_starburst-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..ff2b3c5820f29cc1686f8ef9a6575a5079666769 GIT binary patch literal 37124 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

-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 rCS8o^)g+kd`~|K9gVKNtT8@!Jh8 literal 0 HcmV?d00001 diff --git a/docs/lib-shape_starburst.md b/docs/lib-shape_starburst.md new file mode 100644 index 00000000..35b0670f --- /dev/null +++ b/docs/lib-shape_starburst.md @@ -0,0 +1,39 @@ +# shape_starburst + +Returns shape points of a star. They can be used with xxx_extrude modules of dotSCAD. The shape points can be also used with the built-in polygon module. + +## Parameters + +- `r1` : The outer radius of the starburst. +- `r2` : The inner radius of the starburst. +- `n` : The number of vertices. + + +## Examples + + include ; + + polygon(shape_starburst(30, 12, 6)); + +![shape_starburst](images/lib-shape_starburst-1.JPG) + + include ; + include ; + include ; + include ; + include ; + include ; + include ; + + shape_pts = shape_starburst(5, 2, 8); + + golden_spiral_extrude( + shape_pts, + from = 5, + to = 10, + point_distance = 1, + scale = 10 + ); + +![shape_pentagram](images/lib-shape_starburst-2.JPG) + diff --git a/src/shape_starburst.scad b/src/shape_starburst.scad new file mode 100644 index 00000000..280104fa --- /dev/null +++ b/src/shape_starburst.scad @@ -0,0 +1,31 @@ +/** +* shape_star.scad +* +* Returns shape points of a starburst. +* They can be used with xxx_extrude modules of dotSCAD. +* The shape points can be also used with the built-in polygon module. +* +* @copyright Justin Lin, 2017 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib-shape_starburst.html +* +**/ + +function __outer_points(r1, r2, n) = + let( + a = 360 / n + ) + [for(i = [0:n-1]) [r1 * cos(a * i), r1 * sin(a * i)]]; +function __inner_points(r1, r2, n) = + let ( + a = 360 / n, + half_a = a / 2 + ) + [for(i = [0:n-1]) [r2 * cos(a * i + half_a), r2 * sin(a * i + half_a)]]; + +function __one_by_one(outer_points, inner_points, i = 0) = + len(outer_points) == i ? [] : + concat([outer_points[i], inner_points[i]], __one_by_one(outer_points, inner_points, i + 1)); + +function shape_starburst(r1, r2, n) = __one_by_one(__outer_points(r1, r2, n), __inner_points(r1, r2, n)); \ No newline at end of file