diff --git a/docs/images/lib2-px_polyline-1.JPG b/docs/images/lib2-px_polyline-1.JPG new file mode 100644 index 00000000..cc2a2e85 Binary files /dev/null and b/docs/images/lib2-px_polyline-1.JPG differ diff --git a/docs/images/lib2-px_polyline-2.JPG b/docs/images/lib2-px_polyline-2.JPG new file mode 100644 index 00000000..302b2ed4 Binary files /dev/null and b/docs/images/lib2-px_polyline-2.JPG differ diff --git a/docs/lib2-px_polyline.md b/docs/lib2-px_polyline.md new file mode 100644 index 00000000..93cce3b3 --- /dev/null +++ b/docs/lib2-px_polyline.md @@ -0,0 +1,57 @@ +# px_polyline + +Given a list of points. `px_line` returns points that can be used to draw a pixel-style polyline. + +**Since:** 2.0 + +## Parameters + +The dir changed since 2.0. + +- `points` : A list of points. Each point can be `[x, y]` or `[x, y, z]`. x, y, z must be integer. + +## Examples + + include ; + include ; + include ; + + pentagram = [ + for(pt = shape_pentagram(15)) + [round(pt[0]), round(pt[1])] + ]; + + for(pt = px_polyline(concat(pentagram, [pentagram[0]]))) { + translate(pt) + linear_extrude(1, scale = 0.5) + square(1, center = true); + } + +![px_polyline](images/lib2-px_polyline-1.JPG) + + include ; + include ; + include ; + include ; + + points_angles = sphere_spiral( + radius = 20, + za_step = 5 + ); + + points = [ + for(pa = points_angles) + let(pt = pa[0]) + [round(pt[0]), round(pt[1]), round(pt[2])] + ]; + + for(a = [0:30:330]) { + rotate(a) + for(pt = px_polyline(points)) { + translate(pt) + cube(1, center = true); + } + } + +![px_polyline](images/lib2-px_polyline-2.JPG) +