Every AXOLOTL definition consists of three main parts:
- The discretisation of space into a three dimensional grid of voxels. This can either be done from a simple box or from a grayscale raster image describing the topography of a landscape. The outputs of this part are
- the resolution in X, Y and Z (required by other components, e.g. blur and Millipede isosurface) and
- a one dimensional list of query points for the distance calculations (
- Building up the CSG (constructive solid geometry) tree. All the components that create geometry take as an input - beside their own geometric properties like center and radius for a sphere - the list of points from step one (
pts) and outputs a one dimensional list of distances
aas floats. Two of these lists can be combined by Boolean operation components
Blending. They take as input two
alists and output the result as another
alist that can be fed into other Boolean operations again.
- The visualisation part, where the voxel field of distance values is turned into either geometry (using the
FRepIsosurfacecomponent) or displayed as a volume of dots whose colour corresponds to its distance value.
Just the very basics: one sphere, one torus, combined with Boolean operation and two different ways of visualisation.
Create the voxel space on the basis of a height map (grayscale image).
02 Bike Node
I stumbled upon this inspirational image recently and thought that would be a good exercise for Axolotl.
Of course it is not the same, but close enough to get an idea:
This example shows how the distance field from one object (sphere) can be used to create a gradual offset to another object (lattice).
This example shows the blending of three profiles into one node, hollowed out, while preserving sharp edges.