Think the geometric space like a three dimensional grid. Every cell in this grid is called voxel. The whole space can be filled with this small voxel.
If we fill voxels with negative values, then this means that we are inside an object. Other voxels have positive values. A positive stands for the distance from the current voxel to the surface of the object. A zero level set is a surface where the voxels values go from negative values to positive values.
To calculate the geometry of this objects two steps where necessary. First use an statistically dependent noise generator to fill the voxeles with values. statistically dependent mean that voxels in the neighborhood have more likely similar vales but voxel at an greater can differ in a greater amount. Perlin noise or Perlin turbulence can be used for this job.
In a second step a surfaced is build where the values are approximately zero. This iso-surface can be exported as a mesh, suitable for 3d rendering software. Both steps are done in OpenVDB a software for sparse volumetric data.
voxel_size :size 0.005 half_width :width 48 turbulence :r 0.6 :noise_base 1 :noise_scale 0.2 \ :sx 15.0 :sy 15.0 :sz 15.0 \ :octave 7 :ampscale 0.9 :freqscale 0.95 mesh :fn 100.95 :adaptivity 0.95 end
voxel_size :size 0.01 half_width :width 96 sphere :r 0.9 noise :noise_shape 1 :noise_base 21 :sx 3.0 :sy 3.0 :sz 3.0 difference voxel_sample :fn 0 :inner 0.4 :outer 0.8 :steps 10 sphere :r 0.9 noise :noise_shape 1 :noise_base 1 :sx 3.0 :sy 3.0 :sz 3.0 difference voxel_sample :fn 1 :sampler 1 :tests 100 :inner 0.4 :outer 0.8 :steps 10 mesh :fn 1.02 :adaptivity 0.02 end