From 8fb3d5b5797edb89abab6a0fe7edb461d8936c31 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Wed, 8 Sep 2021 18:02:17 +0800 Subject: [PATCH] add rand_pts_circle --- src/experimental/rand_pts_circle.scad | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/experimental/rand_pts_circle.scad diff --git a/src/experimental/rand_pts_circle.scad b/src/experimental/rand_pts_circle.scad new file mode 100644 index 00000000..1db729f0 --- /dev/null +++ b/src/experimental/rand_pts_circle.scad @@ -0,0 +1,25 @@ +function rand_pts_circle(radius, value_count, seed = undef) = + let( + seed_undef = is_undef(seed), + theta = seed_undef ? rands(0, 360, value_count * 2) : rands(0, 360, value_count * 2, seed), + k = seed_undef ? rands(0, 1, value_count * 2) : rands(0, 1, value_count * 2, seed) + + ) + [ + for(i = [0:value_count - 1]) + let(r = sqrt(k[i]) * radius) + [cos(theta[i]), sin(theta[i])] * r + ]; + +/* +number = 10000; +radius = 2; + +points = rand_pts_circle(radius, number); + +for(p = points) { + translate(p) + circle(.01); +} + +%circle(radius, $fn = 96);*/ \ No newline at end of file