From c93d1ae897a674ed3bec7042371fae2b6ef77016 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 19 Jul 2022 10:05:36 +0800 Subject: [PATCH] add fibonacci_lattice2 --- src/experimental/fibonacci_lattice2.scad | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/experimental/fibonacci_lattice2.scad diff --git a/src/experimental/fibonacci_lattice2.scad b/src/experimental/fibonacci_lattice2.scad new file mode 100644 index 00000000..5c13487d --- /dev/null +++ b/src/experimental/fibonacci_lattice2.scad @@ -0,0 +1,24 @@ +function fibonacci_lattice2(n, radius = 1, rt_dir = "CT_CLK") = + let( + g = (1 + sqrt(5)) / 2, + dir = rt_dir == "CT_CLK" ? 1 : -1 + ) + [ + for(i = [0:n - 1]) + let( + k = (i + 0.5), + r = sqrt(k / n), + theta = dir * k * g * 180 + ) + [radius * r * cos(theta), radius * r * sin(theta)] + ]; + + +num_pts = 300; +pts = fibonacci_lattice2(num_pts); + +for(p = pts) { + translate(p) + circle(.01, $fn = 24); +} +