diff --git a/examples/image_slicer.scad b/examples/image_slicer.scad index 16f62aa3..bf8df1c8 100644 --- a/examples/image_slicer.scad +++ b/examples/image_slicer.scad @@ -1,5 +1,5 @@ use ; -use ; +use ; level_step = 51; contour_width = 1.5; @@ -116,18 +116,14 @@ module image_slicer(levels, level_step, contour_width) { max_h = (floor(255 / level_step) + 1) * level_step; - module contours(points, z, contour_width) { - union() { - for(iso_band = marching_squares(points, [0, z])) { - polygon([for(p = iso_band) [p[0], p[1]]]); - } - } - } - for(z = [level_step:level_step:255]) { linear_extrude((max_h - z) / level_step) offset(0.01) // Avoid warning - contours(points, z, contour_width); + union() { + for(iso_band = contours(points, [0, z])) { + polygon([for(p = iso_band) [p[0], p[1]]]); + } + } } } diff --git a/src/experimental/_impl/_marching_squares_impl.scad b/src/experimental/_impl/_contours_impl.scad similarity index 100% rename from src/experimental/_impl/_marching_squares_impl.scad rename to src/experimental/_impl/_contours_impl.scad diff --git a/src/experimental/marching_squares.scad b/src/experimental/contours.scad similarity index 60% rename from src/experimental/marching_squares.scad rename to src/experimental/contours.scad index 36347fb4..9d9290a9 100644 --- a/src/experimental/marching_squares.scad +++ b/src/experimental/contours.scad @@ -1,6 +1,6 @@ -use ; +use ; -function marching_squares(points, threshold) = +function contours(points, threshold) = is_undef(threshold[1]) ? _marching_squares_isolines(points, threshold) : _marching_squares_isobands(points, threshold[0], threshold[1]); \ No newline at end of file diff --git a/src/experimental/demo/marching_squares_demo.scad b/src/experimental/demo/contours_demo.scad similarity index 69% rename from src/experimental/demo/marching_squares_demo.scad rename to src/experimental/demo/contours_demo.scad index 081d076f..57b8ee6f 100644 --- a/src/experimental/demo/marching_squares_demo.scad +++ b/src/experimental/demo/contours_demo.scad @@ -1,7 +1,7 @@ use ; use ; use ; -use ; +use ; seed = rand(0, 256); points = [ @@ -11,11 +11,11 @@ points = [ ]; -for(isoline = marching_squares(points, 0.1)) { +for(isoline = contours(points, 0.1)) { hull_polyline2d(isoline, width = .1); } translate([12, 0]) -for(isoband = marching_squares(points, [-.2, .2])) { +for(isoband = contours(points, [-.2, .2])) { polygon([for(p = isoband) [p[0], p[1]]]); } \ No newline at end of file diff --git a/src/experimental/demo/marching_squares_demo2.scad b/src/experimental/demo/contours_demo2.scad similarity index 99% rename from src/experimental/demo/marching_squares_demo2.scad rename to src/experimental/demo/contours_demo2.scad index 27cfab53..ac434ace 100644 --- a/src/experimental/demo/marching_squares_demo2.scad +++ b/src/experimental/demo/contours_demo2.scad @@ -1,5 +1,5 @@ use ; -use ; +use ; levels = [ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], @@ -111,7 +111,7 @@ points = [ ]; for(z = [0:40:255]) { - for(isoline = marching_squares(points, z)) { + for(isoline = contours(points, z)) { hull_polyline2d(isoline, width = .25); } } \ No newline at end of file