diff --git a/examples/voronoi/ripple_sphere.scad b/examples/voronoi/ripple_sphere.scad new file mode 100644 index 00000000..fbce351e --- /dev/null +++ b/examples/voronoi/ripple_sphere.scad @@ -0,0 +1,40 @@ +use ; +use ; +use ; +use ; + +radius = 150; +detail = 30; +amplitude = radius / 3.75; +grid_w = radius / 3; +dist = "border"; // [euclidean, manhattan, chebyshev, border]= +seed = 21; + +ripple_sphere(radius, detail, amplitude, dist, grid_w, seed); + +module ripple_sphere(radius, detail, amplitude, dist = "border", grid_w, seed) { + sample_scale = 0.005; + points_faces = geom_icosahedron(1, detail); + + points = points_faces[0]; + + d = radius * 2; + f1 = 2; + f2 = amplitude / 75; + noises = [ + for(p = points / 2) + let( + pnz = (p + p * nz_worley3(p.x * f1, p.y * f1, p.z * f1, seed, grid_w, dist)[3] * f2) + ) + [ + p.x * (d + nz_perlin3(pnz.x, p.y, p.z, seed) * amplitude), + p.y * (d + nz_perlin3(p.x, pnz.y, p.z, seed) * amplitude), + p.z * (d + nz_perlin3(p.x, p.y, pnz.z, seed) * amplitude) + ] + ]; + + polyhedron( + noises, + points_faces[1] + ); +} \ No newline at end of file