1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-12 01:34:12 +02:00

random start

This commit is contained in:
Justin Lin
2022-07-02 17:05:17 +08:00
parent 0d19380f74
commit 2fab2309fe
2 changed files with 4 additions and 3 deletions

View File

@@ -8,13 +8,13 @@ function grid_replace(g, x, y, z, p) =
else g[i] else g[i]
]; ];
function sampling(size, r, start, k) = function sampling(size, r, start, k, sd) =
let( let(
w = r / sqrt(3), w = r / sqrt(3),
layers = floor(size.z / w), layers = floor(size.z / w),
rows = floor(size.y / w), rows = floor(size.y / w),
columns = floor(size.x / w), columns = floor(size.x / w),
pt = is_undef(start) ? size / 2 : start, pt = is_undef(start) ? [rands(0, size.x, 1, sd)[0], rands(0, size.y, 1, sd + 1)[0], rands(0, size.z, 1, sd + 2)[0]] : start,
active = [pt], active = [pt],
px = floor(pt.x / w), px = floor(pt.x / w),
py = floor(pt.y / w), py = floor(pt.y / w),

View File

@@ -2,7 +2,8 @@ use <_impl/_pp_poisson3.scad>
function pp_poisson3(size, r, start = undef, k = 30, seed = undef, history = false) = function pp_poisson3(size, r, start = undef, k = 30, seed = undef, history = false) =
let( let(
s = _pp_poisson(sampling(size, r, start, k), is_undef(seed) ? floor(rands(0, 1000, 1)[0]) : seed), sd = is_undef(seed) ? floor(rands(0, 1000, 1)[0]) : seed,
s = _pp_poisson(sampling(size, r, start, k, sd), sd),
samples = [ samples = [
for(layer = sampling_grid(s), row = layer, sample = row) for(layer = sampling_grid(s), row = layer, sample = row)
if(!is_undef(sample)) sample if(!is_undef(sample)) sample