Fig 1. Some variations of the Boxed and Cube constructors |

Fig 2. Some examples of a cube with another metamorph |

In XenoDream, objects are composed of building blocks called Holons. They can have a standard shape such as a sphere, cube, cylinder, torus, cone or plane, in which case we call them constructors. Each constructor style has parameters allowing many variations. For example, the cone can have curvature and pitch to make a range of spiral and shell shapes. Some cube variations are illustrated in figure 1.

Holons can also transform those shapes in many ways. As you might expect for 3D, each holon has a position, scale and orientation, and also a skew for distortion or reflection. In addition there are nonlinear transformations called Metamorphs, which you can choose from a list, and adjust the amount and other parameters. They range from simple twists and swirls to convoluted warps. Figure 2 shows some examples.

An object can be made from just one holon, or several can be combined. So far it sounds like conventional modeling with some fancy shape options. Why are they called holons? Because they can do much more...

Holons do not have to be constructors. If they aren't constructors then they inherit the shape from other holons. That allows them to replicate other holons, and since they also inherit from themselves, they iterate in a way that depends on their position, orientation and scales. In figure 3, one holon is a cube constructor and the other iterates it in a spiral, with scale 93% and rotation 30 degrees counterclockwise. The holon arrangement is shown on the left.

Fig 3. A cube constructor iterated in a spiral |
Fig 4. Two holons, no constructors |

When two or more holons are not constructors, they iterate in combinations to make a fractal structure. Figure 4 shows the spiral of spirals that results from the same holons as figure 3 without the cube constructor. Each holon iterates itself and the other. The word 'Holon' was coined by philosopher Arthur Koestler to describe a unit that is both a whole and part of a larger whole; ideal for XenoDream.

Objects can be all constructors, a pure fractal or a combination, allowing for infinite variety. Rendering with low opacity also allows creation and exploration of shapes such as clouds and nebulae. The other pages and our galleries give some idea of the shapes that are possible.