1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-19 04:51:26 +02:00
This commit is contained in:
Justin Lin
2022-04-05 11:52:37 +08:00
parent 84301af250
commit 57ec3f46ef
2 changed files with 0 additions and 62 deletions

View File

@@ -1,25 +0,0 @@
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);*/

View File

@@ -1,37 +0,0 @@
use <util/degrees.scad>;
function rand_pts_sphere(radius, value_count, seed = undef) =
let(r_nums = is_undef(seed) ? rands(0, 1, value_count * 2) : rands(0, 1, value_count * 2, seed))
[
for(i = [0:value_count - 1])
let(
theta = degrees(2 * PI * r_nums[i]),
phi = acos(r_nums[i + value_count] * 2 - 1),
sin_phi = sin(phi),
x = sin_phi * cos(theta),
y = sin_phi * sin(theta),
z = cos(phi)
)
[x, y, z]
] * radius;
/*
use <experimental/rand_pts_sphere.scad>;
use <polyhedron_hull.scad>;
number = 20;
radius = 2;
points = rand_pts_sphere(radius, number);
polyhedron_hull(points);
for(p = points) {
translate(p)
sphere(.05);
}
%sphere(radius, $fn = 48);
*/