mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-14 18:54:41 +02:00
refactor
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
use <util/rand.scad>;
|
use <util/rand.scad>;
|
||||||
use <noise/nz_perlin3s.scad>;
|
use <noise/nz_perlin3s.scad>;
|
||||||
use <experimental/geom_icosahedron.scad>;
|
use <polyhedra/geom_icosahedron.scad>;
|
||||||
|
|
||||||
// radius = 30;
|
// radius = 30;
|
||||||
// detail = 4;
|
// detail = 10;
|
||||||
// amplitude = 10;
|
// amplitude = 10;
|
||||||
// period = 20;
|
// period = 20;
|
||||||
|
|
||||||
// perlin_sphere(radius, detail, amplitude, period);
|
// perlin_sphere(radius, detail, amplitude, period);
|
||||||
|
|
||||||
module perlin_sphere(radius, detail, amplitude, period = 10, seed = undef) {
|
module perlin_sphere(radius, detail, amplitude, period = 10, seed = undef) {
|
||||||
points_faces = geom_icosahedron(radius, detail, quick_mode = false);
|
points_faces = geom_icosahedron(radius, detail);
|
||||||
points = points_faces[0];
|
points = points_faces[0];
|
||||||
faces = points_faces[1];
|
faces = points_faces[1];
|
||||||
|
|
||||||
|
@@ -1,19 +0,0 @@
|
|||||||
function _tri_subdivide(points) =
|
|
||||||
let(
|
|
||||||
p0 = points[0],
|
|
||||||
p1 = points[1],
|
|
||||||
p2 = points[2],
|
|
||||||
m0 = (p0 + p1) / 2,
|
|
||||||
m1 = (p1 + p2) / 2,
|
|
||||||
m2 = (p2 + p0) / 2
|
|
||||||
)
|
|
||||||
[
|
|
||||||
[p0, m0, m2],
|
|
||||||
[m0, p1, m1],
|
|
||||||
[m1, p2, m2],
|
|
||||||
[m0, m1, m2]
|
|
||||||
];
|
|
||||||
|
|
||||||
function tri_subdivide(points, n = 1) =
|
|
||||||
n == 1 ? _tri_subdivide(points) :
|
|
||||||
[for(tri = tri_subdivide(points, n - 1)) each _tri_subdivide(tri)];
|
|
@@ -1,9 +1,9 @@
|
|||||||
use <util/rand.scad>;
|
use <util/rand.scad>;
|
||||||
use <noise/nz_worley3s.scad>;
|
use <noise/nz_worley3s.scad>;
|
||||||
use <experimental/geom_icosahedron.scad>;
|
use <polyhedra/geom_icosahedron.scad>;
|
||||||
|
|
||||||
// radius = 30;
|
// radius = 30;
|
||||||
// detail = 3;
|
// detail = 10;
|
||||||
// amplitude = .05;
|
// amplitude = .05;
|
||||||
// dist = "border"; // [euclidean, manhattan, chebyshev, border]
|
// dist = "border"; // [euclidean, manhattan, chebyshev, border]
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ use <experimental/geom_icosahedron.scad>;
|
|||||||
module worley_sphere(radius, detail, amplitude, dist = "border", grid_w = undef, seed = undef) {
|
module worley_sphere(radius, detail, amplitude, dist = "border", grid_w = undef, seed = undef) {
|
||||||
gw = is_undef(grid_w) ? radius : grid_w;
|
gw = is_undef(grid_w) ? radius : grid_w;
|
||||||
|
|
||||||
points_faces = geom_icosahedron(radius, detail, quick_mode = false);
|
points_faces = geom_icosahedron(radius, detail);
|
||||||
points = points_faces[0];
|
points = points_faces[0];
|
||||||
faces = points_faces[1];
|
faces = points_faces[1];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user