From 4031fee5bb056effc5990cbdd48794a8ba4ae71e Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Mon, 18 Apr 2022 16:57:08 +0800 Subject: [PATCH] refactor: vt multi --- src/util/rands_disk.scad | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/util/rands_disk.scad b/src/util/rands_disk.scad index 2e014cda..6a5e5f7c 100644 --- a/src/util/rands_disk.scad +++ b/src/util/rands_disk.scad @@ -1,21 +1,22 @@ function rands_disk(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) - + n = value_count * 2, + theta = seed_undef ? rands(0, 360, n) : rands(0, 360, n, seed), + k = radius ^ 2 * (seed_undef ? rands(0, 1, n) : rands(0, 1, n, seed)) ) [ for(i = [0:value_count - 1]) - let(r = sqrt(k[i]) * radius) - [cos(theta[i]), sin(theta[i])] * r + [cos(theta[i]), sin(theta[i])] * sqrt(k[i]) ]; /* +use ; + number = 10000; radius = 2; -points = rand_pts_circle(radius, number); +points = rands_disk(radius, number); for(p = points) { translate(p)