Chaos & Linked Transforms Tutorial

What is Chaos (or Xaos)?

The IFS (Iterated Function System) algorithm that generates flame fractals, randomly selects (based on the transforms’ weights) a transform to apply to the points in the fractal’s point pool. The normal algorithm uses a transform’s weight as the probability that a particular transform is selected each iteration.

The application of Chaos changes the algorithm’s rules by modifying each effective transform’s weights. Each iteration the actual transform that was selected is memorized. On the next iteration, the chaos weights for the memorized transform are multiplied against all of the transform weights to get the effective weights for the current iteration. Those weights are used as the probability a particular transform is selected (for just that iteration).

The chaos table shows the weights to each transform - from each transform. The default values are all the value: one.
In other words, when a chaos weight from a transform A to transform B is equal to 1, then the chaos weights do not change the effective probabilities.

Default Chaos Weights Table (for fractal with 3 transforms)

To:

1

2

3

1

1

1

1

From:

2

1

1

1

3

1

1

1

Where can I set the chaos weights for a fractal?

The region marked with F in this image has the button: Chaos Weights. It opens the Chaos Weights panel.

Example Fractal #1

Example Fractal 1

To:

1

2

From:

1

1

1

2

1

1

Download: [weird.flame]((../../shrd/weird.flame)

Example Fractal After Playing with Chaos

Example Fractal 1 with Chaos

To:

1

2

From:

1

1

0.0617733

2

1

1

The only chaos weight change here is for the from:1 to:2 chaos weight. Its new value is 0.0617733.

Typically it takes a very small chaos weight to make a big difference in the image. Download the first fractal and play with the chaos weight values.

Linked Transforms

Chaos can be used to link two transforms together. One of the effects of linking is that the apparent “texture” of the first transform is applied on top of the the second transform’s “structure”. The following example shows how a julia transform can be applied to a sphere.

This effect is very dependent on the transform variations and may be possible without using linked transforms.

The first transform’s chaos weights will be 100% to the second linked transform and 0% to all others.
The second linked transform’s chaos weights will be 0% from all transforms, except from the first transform - it will be 100%.

How can I add a new transform that is linked to the selected one?

Click and select a transform row in the list of transforms table found on the Triangle Editor. Next, press the + Linked button. That creates a new transform that is linked from the original selected transform. This results in a chaos link from the selected transform to the new one.

How can I add a new transform that is back linked to the selected one?

Click and select a transform row in the list of transforms table found on the Triangle Editor. Next, press the + Back Linked button. That creates a new transform that is back linked to the original selected transform. This results in a chaos link from the new transform to the selected one.

How to manually link two transforms

To link from say transform 1 to transform 3, the weights should be rearranged like: