commit 7a5a7e8c62c309d33b2f4f1548581383d594d1ec Author: Nicolas Massé Date: Sun May 6 06:45:01 2018 -0700 initial version diff --git a/pattern.scad b/pattern.scad new file mode 100644 index 0000000..0848ffe --- /dev/null +++ b/pattern.scad @@ -0,0 +1,19 @@ +module spray_pattern(bounding_box, move_patterns) { + size = bounding_box[1] - bounding_box[0]; + xn = floor(size.x / move_patterns[0].x); + yn = floor(size.y / move_patterns[1].y); + origin = bounding_box[0]; + + for (y = [0:1:yn]) { + for (x = [0:1:xn]) { + move = [x, y] * move_patterns; + complement = [ + move.x >= 0 && move.x <= size.x ? 0 : -(xn + 1) * floor(move.x / ((xn + 1) * move_patterns[0].x)), + move.y >= 0 && move.y <= size.y ? 0 : -(xn + 1) * floor(move.y / ((xn + 1) * move_patterns[0].y)) + ]; + adjusted_move = origin + ([x, y] + complement) * move_patterns; + translate(adjusted_move) + children(); + } + } +}