From a307fcd56555741db694c02315f25bd7a47b5b34 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 25 Oct 2020 14:42:04 +0800 Subject: [PATCH] add bauer_spiral --- src/experimental/bauer_spiral.scad | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/experimental/bauer_spiral.scad diff --git a/src/experimental/bauer_spiral.scad b/src/experimental/bauer_spiral.scad new file mode 100644 index 00000000..932c1b6f --- /dev/null +++ b/src/experimental/bauer_spiral.scad @@ -0,0 +1,20 @@ +function bauer_spiral(n, dir = "CT_CLK") = + let( + L = sqrt(n * PI), + toRadians = PI / 180, + toDegrees = 180 / PI, + clk = dir == "CT_CLK" ? 1 : -1 + ) + [ + for(k = 1; k <= n; k = k + 1) + let( + zk = 1 - (2 * k - 1) / n, + phik = acos(zk) * toRadians, + thetak = L * phik * clk, + phikDegrees = toDegrees * phik, + thetakDegrees = toDegrees * thetak, + xk = sin(phikDegrees) * cos(thetakDegrees), + yk = sin(phikDegrees) * sin(thetakDegrees) + ) + [xk, yk, zk] + ]; \ No newline at end of file