diff --git a/README.md b/README.md index ab433223..7769fd0d 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ These examples incubate dotSCAD and dotSCAD refactors these examples. See [examp ### Voxel - [vx_bezier](https://openhome.cc/eGossip/OpenSCAD/lib2x-vx_bezier.html) -- vx_curve +- [vx_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-vx_curve.html) - vx_contour ### Maze diff --git a/docs/images/lib2x-vx_curve-1.JPG b/docs/images/lib2x-vx_curve-1.JPG new file mode 100644 index 00000000..4d460b6a Binary files /dev/null and b/docs/images/lib2x-vx_curve-1.JPG differ diff --git a/docs/lib2x-vx_curve.md b/docs/lib2x-vx_curve.md new file mode 100644 index 00000000..b56846a2 --- /dev/null +++ b/docs/lib2x-vx_curve.md @@ -0,0 +1,35 @@ +# vx_curve + +Draws a voxel-by-voxel curve from control points. The curve is drawn only from the 2nd control point to the second-last control point. It's a voxel version of [curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-curve.html). + +## Parameters + +- `points` : A list of `[x, y]` or `[x, y, z]` control points. +- `tightness` : You can view it as the curve tigntness if you provide a value between 0.0 and 1.0. The default value is 0.0. See [curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-curve.html) for details. + +## Examples + + use ; + use ; + + pts = [ + [28, 2, 1], + [15, 8, -10], + [2, 14, 5], + [28, 14, 2], + [15, 21, 9], + [2, 28, 0] + ]; + + for(pt = vx_curve(pts)) { + translate(pt) + cube(1); + } + + #for(pt = pts) { + translate(pt) + sphere(1); + } + #hull_polyline3d(pts, .1); + +![vx_curve](images/lib2x-vx_curve-1.JPG)