Skip to content

Releases: AEFGP/AEFGP.github.io

Compiterator 1.13.0

06 Jun 13:38
3980ac9
Compare
Choose a tag to compare

Visit Live Version

Visit Wiki

Compiterator Version 1.13.0
Open index.html in Chromium based browsers, this script seems to have really bad performance on other browsers.

The name 'Compiterator' (for "Complex Iterator") is based on the fact the program uses iterations of complex functions. It is meant to be a geometric live interactive way to generate fractals, it is in some sense a mathematical toy.

Press space twice as soon as you open it if you want to disable the automatic randomisation.
The automatic randomisation is a half-measure so that devices that can't do keyboard or mouse input can still get some use out of the script. In the future there will hopefully be proper UI.

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • "|': Increase resolution multiplier
  • :|;: Decrease resolution multiplier
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • C: Randomise colour settings
  • V: Randomise render vectors
  • O: Randomise iteration options
  • P: Randomise attractor nodes / points
  • I: Randomise number of layers and numbers of points
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • B: Cycle colour mode
  • <|,: Decrease colour cycle depth
  • >|.: Increase colour cycle depth
  • ?|/: Dump parameters into browser console
  • enter: Save Image

Instructions

In edit mode:

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. linear interpolation algorithm with broken exponential sum output parameter
  5. Polynomial function iteration.
  6. Polynomial Newton's method iteration.
  7. 5 w/ broken z
  8. 6 w/ broken z
  9. 5 w/ broken z + broken poly
  10. 6 w/ broken z + broken poly
  11. 5 w/ broken broken z + broken broken poly + broken PF
  12. old exponential & constant distance iteration
  13. old exponential iteration

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

The position of all the attractor nodes can be randomly set using P
The other settings pertaining to the shape of the fractal can be randomly set using O
Colour settings can be randomly set using C
The location, size and rotation of the render can randomly set using V
To randomise the actual number of layers and points for each layer use I
The iteration mode is not randomised by any of these settings.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

Even though the motivation for this project was to generate the chaos game, it also generates other complex iterated function systems, and uses the geometric meanings from the chaos game. For example the polynomial mode generates a polynomial which has the nodes of the current layer as its zeroes.

There are algorithms for the iteration with sensible definitions:

  • The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  • The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  • The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  • The iterated point moves according to applications of Newton's method over the same polynomial function as above.
  • The iterated point moves to the incenter of a triangle composed of two adjacent nodes and a point linearly interpolated from the midpoint of the other nodes to the previous position with a complex parameter.
    The parameter is based on plain screen position but is shifted slightly.
  • The iterated point moves to a point parameterised within a triangle composed of two nodes and the previous position.
    The parameter, based on screen position, is mapped to remain within the unit square.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

There are other modes in the compiterator which are broken implementations of sensible modes which are kept in because they have interesting visuals.

Compiterator 1.12.1

09 Sep 15:29
07b23e6
Compare
Choose a tag to compare

Visit Live Version

Visit Wiki

Compiterator Version 1.12.1
Open index.HTML in Chromium based browsers, this script seems to have really bad performance on other browsers.

The name 'Compiterator' (for "Complex Iterator") is based on the fact the program uses iterations of complex functions. It is meant to be a geometric live interactive way to generate fractals, it is in some sense a mathematical toy.

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • "|': Increase resolution multiplier
  • :|;: Decrease resolution multiplier
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • C: Randomise colour settings
  • V: Randomise render vectors
  • O: Randomise iteration options
  • P: Randomise attractor nodes / points
  • I: Randomise number of layers and numbers of points
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • B: Cycle colour mode
  • <|,: Decrease colour cycle depth
  • >|.: Increase colour cycle depth
  • ?|/: Dump parameters into browser console
  • enter: Save Image

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. linear interpolation algorithm with broken exponential sum output parameter
  5. Polynomial function iteration.
  6. Polynomial Newton's method iteration.
  7. 5 w/ broken z
  8. 6 w/ broken z
  9. 5 w/ broken z + broken poly
  10. 6 w/ broken z + broken poly
  11. 5 w/ broken broken z + broken broken poly + broken PF
  12. old exponential & constant distance iteration
  13. old exponential iteration

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

The position of all the attractor nodes can be randomly set using P
The other settings pertaining to the shape of the fractal can be randomly set using O
Colour settings can be randomly set using C
The location, size and rotation of the render can randomly set using V
To randomise the actual number of layers and points for each layer use I
The iteration mode is not randomised by any of these settings.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

Even though the motivation for this project was to generate the chaos game, it also generates other complex iterated function systems, and uses the geometric meanings from the chaos game. For example the polynomial mode generates a polynomial which has the nodes of the current layer as its zeroes.

There are four algorithms for the iteration with sensible definitions:

  • The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  • The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  • The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  • The iterated point moves according to applications of Newton's method over the same polynomial function as above.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

Compiterator 1.12

09 Sep 12:55
1cc73bc
Compare
Choose a tag to compare

Visit Live Version

Visit Wiki

Compiterator Version 1.12

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • "|': Increase resolution multiplier
  • :|;: Decrease resolution multiplier
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • C: Randomise colour settings
  • V: Randomise render vectors
  • O: Randomise iteration options
  • P: Randomise attractor nodes / points
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • B: Cycle colour mode
  • <|,: Decrease colour cycle depth
  • >|.: Increase colour cycle depth
  • ?|/: Dump parameters into browser console
  • enter: Save Image

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. linear interpolation algorithm with broken exponential sum output parameter
  5. Polynomial function iteration.
  6. Polynomial Newton's method iteration.
  7. 5 w/ broken z
  8. 6 w/ broken z
  9. 5 w/ broken z + broken poly
  10. 6 w/ broken z + broken poly
  11. 5 w/ broken broken z + broken broken poly + broken PF
  12. old exponential & constant distance iteration
  13. old exponential iteration

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

The position of all the attractor nodes can be randomly set using P
The other settings pertaining to the shape of the fractal can be randomly set using O
Colour settings can be randomly set using C
The location, size and rotation of the render can randomly set using V

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

Even though the motivation for this project was to generate the chaos game, it also generates other complex iterated function systems, and uses the geometric meanings from the chaos game. For example the polynomial mode generates a polynomial which has the nodes of the current layer as its zeroes.

There are four algorithms for the iteration with sensible definitions:

  • The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  • The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  • The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  • The iterated point moves according to applications of Newton's method over the same polynomial function as above.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

Compiterator 1.11

09 Sep 03:46
187bfc1
Compare
Choose a tag to compare

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • C: Randomise colour settings
  • V: Randomise render vectors
  • O: Randomise iteration options
  • P: Randomise attractor nodes / points
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • B: Cycle colour mode
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. linear interpolation algorithm with broken exponential sum output parameter
  5. Polynomial function iteration.
  6. Polynomial Newton's method iteration.
  7. 5 w/ broken z
  8. 6 w/ broken z
  9. 5 w/ broken z + broken poly
  10. 6 w/ broken z + broken poly
  11. 5 w/ broken broken z + broken broken poly + broken PF

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

Even though the motivation for this project was to generate the chaos game, it also generates other complex iterated function systems, and uses the geometric meanings from the chaos game. For example the polynomial mode generates a polynomial which has the nodes of the current layer as its zeroes.

There are four algorithms for the iteration with sensible definitions:

  • The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  • The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  • The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  • The iterated point moves according to applications of Newton's method over the same polynomial function as above.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

Compiterator 1.10

06 Sep 17:53
c69489f
Compare
Choose a tag to compare

Visit Live Version

Visit Wiki

Compiterator Version 1.10

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • B: Cycle colour mode
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. linear interpolation algorithm with broken exponential sum output parameter
  5. Polynomial function iteration.
  6. Polynomial Newton's method iteration.
  7. 5 w/ broken z
  8. 6 w/ broken z
  9. 5 w/ broken z + broken poly
  10. 6 w/ broken z + broken poly
  11. 5 w/ broken broken z + broken broken poly + broken PF

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

Even though the motivation for this project was to generate the chaos game, it also generates other complex iterated function systems, and uses the geometric meanings from the chaos game. For example the polynomial mode generates a polynomial which has the nodes of the current layer as its zeroes.

There are four algorithms for the iteration with sensible definitions:

  • The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  • The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  • The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  • The iterated point moves according to applications of Newton's method over the same polynomial function as above.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

Compiterator 1.9

06 Sep 13:12
b384ef4
Compare
Choose a tag to compare

Visit Live Version

Compiterator Version 1.9

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render (and randomise point)
  • U: Toggle max iteration checking
  • E: Cycle iteration mode
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • shift: Toggle toggling of N and M to their broken functions in prior versions
  • ~: Cycle mouse-selector mode
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Complex parameter mouse-selector mode
  • 2: Iterated point mouse-selector mode
  • 3: Iterated cluster mouse-selector mode
  • 4: Latest node mouse-selector mode
  • 5: Probability mouse-selector mode
  • 6: Render origin mouse-selector mode
  • 7: Render rotation mouse-selector mode
  • 8: Colour origin mouse-selector mode
  • 9: Colour rotation mouse-selector mode
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • B: Cycle colour mode
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. Polynomial function iteration.
  4. Polynomial Newton's method iteration.
  5. linear interpolation algorithm with exponential sum output parameter
  6. linear interpolation algorithm with pseudo-exponential sum output parameter

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls different parameters:

  1. Complex parameter for the various iteration modes.
  2. Location of the iterated point, can be used to demonstrate the attractor properties.
  3. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  4. Most recently created node, useful for making small adjustments to the shape.
  5. Probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Location of the origin of the plot.
  7. Rotation & scaling of the plot.
  8. Location of the origin for colouring.
  9. Rotation & scaling of the colour map.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

There are four algorithms for the iteration with sensible definitions:

  1. The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  2. The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  3. The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.
  4. The iterated point moves according to applications of Newton's method over the same polynomial function as above.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation or max iterations (max iterations is enabled by default)

Compiterator 1.8.2

02 Sep 18:04
a25d9e3
Compare
Choose a tag to compare

Visit Live Version

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Change to complex parameter mouse-selector mode
  • 2: Change to colour origin mouse-selector mode
  • 3: Change to iterated point mouse-selector mode
  • 4: Change to iterated cluster mouse-selector mode
  • 5: Change to probability mouse-selector mode
  • 6: Change to latest node mouse-selector mode
  • ~: Cycle mouse-selector mode
  • E: Cycle iteration mode
  • B: Cycle colour mode (clears window also)
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • shift: Toggle toggling of N and M to their broken functions in prior versions (read the instructions).
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. Polynomial function iteration.

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls the:

  1. Complex parameter for the various algorithms.
  2. Location of the origin for colouring.
  3. Location of the iterated point, can be used to demonstrate the attractor properties.
  4. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  5. Game probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Most recently created node, mostly for making small adjustments in the exponential sum mode.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

There are three algorithms for the iteration:

  1. The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  2. The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  3. The iterated point moves on a linear interpolation to the chosen node with a complex parameter of the output of the sum of a complex expoentiation function and the chosen node.
  4. The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation.

Compiterator 1.8.1

02 Sep 17:21
a25d9e3
Compare
Choose a tag to compare

Visit Live Version

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Change to complex parameter mouse-selector mode
  • 2: Change to colour origin mouse-selector mode
  • 3: Change to iterated point mouse-selector mode
  • 4: Change to iterated cluster mouse-selector mode
  • 5: Change to probability mouse-selector mode
  • 6: Change to latest node mouse-selector mode
  • ~: Cycle mouse-selector mode
  • E: Cycle iteration mode
  • B: Cycle colour mode (clears window also)
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • shift: Toggle toggling of N and M to their broken functions in prior versions (read the instructions).
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. Polynomial function iteration.

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls the:

  1. Complex parameter for the various algorithms.
  2. Location of the origin for colouring.
  3. Location of the iterated point, can be used to demonstrate the attractor properties.
  4. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  5. Game probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Most recently created node, mostly for making small adjustments in the exponential sum mode.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

There are three algorithms for the iteration:

  1. The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  2. The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  3. The iterated point moves on a linear interpolation to the chosen node with a complex parameter of the output of the sum of a complex expoentiation function and the chosen node.
  4. The iterated point moves to the output of a polynomial function that has the current layer as zeroes and multiplied by a complex parameter.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation.

Compiterator 1.8

02 Sep 17:05
a25d9e3
Compare
Choose a tag to compare

Visit Live Version

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Change to complex parameter mouse-selector mode
  • 2: Change to colour origin mouse-selector mode
  • 3: Change to iterated point mouse-selector mode
  • 4: Change to iterated cluster mouse-selector mode
  • 5: Change to probability mouse-selector mode
  • 6: Change to latest node mouse-selector mode
  • ~: Cycle mouse-selector mode
  • E: Cycle iteration mode
  • B: Cycle colour mode (clears window also)
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • shift: Toggle toggling of N and M to their broken functions in prior versions (read the instructions).
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. Polynomial function iteration.

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls the:

  1. Complex parameter for the various algorithms.
  2. Location of the origin for colouring.
  3. Location of the iterated point, can be used to demonstrate the attractor properties.
  4. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  5. Game probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Most recently created node, mostly for making small adjustments in the exponential sum mode.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

There are three algorithms for the iteration:

  1. The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  2. The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  3. The iterated point moves on a linear interpolation to the chosen node with a complex parameter of the output of the sum of a complex expoentiation function and the chosen node.
  4. The iterated point moves to the output of a polynomial function that has the current layer as zeroes and an initial constant of the complex parameter.

Sometimes the polynomial can escape the canvas, simply refresh the canvas or enable the randomisation.

Compiterator v1.7

10 Dec 04:14
2ffa6c9
Compare
Choose a tag to compare

Controls

  • space: Toggle RENDER/EDIT modes
    --EDIT--
  • L alt HOLD + L mouse: Add node
  • L mouse HOLD: Delete node
  • up arrow: New layer
  • down arrow: Delete top layer
  • right arrow: Next layer
  • left arrow: Previous layer
    --RENDER--
  • Q: Toggle render (freeze)
  • R: Clear render
  • W: Move mouse-selector point up
  • A: Move mouse-selector point left
  • S: Move mouse-selector point down
  • D: Move mouse-selector point right
  • 1: Change to complex parameter mouse-selector mode
  • 2: Change to colour origin mouse-selector mode
  • 3: Change to iterated point mouse-selector mode
  • 4: Change to iterated cluster mouse-selector mode
  • 5: Change to probability mouse-selector mode
  • 6: Change to latest node mouse-selector mode
  • ~: Cycle mouse-selector mode
  • E: Cycle iteration mode
  • B: Cycle colour mode (clears window also)
  • N: Cycle node exclusion
  • M: Cycle layer exclusion
  • H: Jumble node order
  • K: Jumble layer order
  • <: Decrease colour cycle depth
  • >: Increase colour cycle depth
  • shift: Toggle toggling of N and M to their broken functions in prior versions (read the instructions).
  • enter: Save Image (Right click the canvas and save manually if this doesn't work)

Instructions

In edit mode (default state):

Place nodes in different layers to inform the kind of image that will be generated in render mode.
Use the up and down arrow keys to increase or decrease the total number of layers.
Use the right and left arrow keys to select the current layer that the new node will be part of.

Alt + Left Click to place a node at the cursor, an already existing node at the cursor will be overridden.
Hold left click to remove any nodes at the cursor, it will not remove a node if it is the last of its layer.
Layers that don't have any nodes are considered to have a node at the center of the screen.

Press spacebar to move to render mode.

In render mode:
You can save the image in render mode using the ENTER key.
NOTE: If your window resizes due to the downloads bar popping up it will clear the render mode but the image can still be saved.

To clear the screen press R or go to edit mode and then back to render.
Pressing Q toggles the rendering so that no changes occur, useful for pausing to inspect and for swapping modes for creative combinations.

Pressing E will cycle the different algorithms for the chaos game, it will not clear the screen.

  1. linear interpolation algorithm.
  2. constant distance algorithm.
  3. linear interpolation algorithm with exponential sum output parameter
  4. constant distance with exponential sum output parameter
  5. exponential sum algorithm

Pressing ~ will cycle the different mouse-selector modes.
The mouse (or WASD keys) will set/move the point that controls the:

  1. Complex parameter for the various algorithms.
  2. Location of the origin for colouring.
  3. Location of the iterated point, can be used to demonstrate the attractor properties.
  4. Point at which the plot is drawn towards, also useful to demonstrate the attractors.
  5. Game probabilities, with the probability of iterated point resetting as x and layer swapping as y respectively.
  6. Most recently created node, mostly for making small adjustments in the exponential sum mode.

You can budge the point specified by the input settings that would otherwise be set by the mouse a small distance from its current position by pressing WASD in the way you would expect, W = up, A = left, S = down, D = right.
This can be used to observe how small changes in the current state effect the outcome without having to locate the old point with the mouse.

Pressing N and M cycle the exclusion algorithm for the nodes and layers, this does not clear the screen. Both default to 0.
At the value of 1, no longer can the previously chosen item be chosen again.
Beyond 1 it excludes the "nth" next item from being chosen.
Use H and K to jumble the node and layer order to explore all the permutations of the exclusion effects.
If you wish to use the old broken functionality of the node and layer exclusion modes, press SHIFT, then press N or M, then SHIFT again.
The node exclusion or the layer exclusion respectively will work as they did before the fix. (SHIFT toggles the N and M buttons into toggles of the fix independently for either mode)

You can cycle through different modes of the colours shown by pressing B. This will clear the screen.
The depth to which the colour algorithm refers to can be increased or decreased by using > and <.
This will increase the time it takes the render to fill but it can allow for a clearer exploration of the self-similarities and symmetries in the fractal structures produced.

Background Information

The chaos game involves choosing points in a probabilistic algorithm and iterating the movement by some other algorithm to the chosen point of a tracked point.
This often produces mathematical attractors, shapes which are approached regardless of the starting value of the iteration given enough iterations.

This program completes 500 iterations a frame.
At 50% (variable) probability each iteration there is a chance that a new layer is chosen at random, this could include the layer previously selected.
Each iteration in the chosen layer a single node is chosen at random, it also can include the node that was previously selected.

What layers and nodes can be selected in relevance to the previously selected layers and nodes can be changed.
The image is coloured based on previous iterations to highlight the fractal elements of the image such as the self-similarities and symmetries.

There are three algorithms for the iteration:

  1. The iterated point moves on a linear interpolation to the chosen node with a complex parameter.
    The parameter, based on the screen position, is mapped from the whole plane into the unit disk.
  2. The iterated point moves by a rotation of a constant complex vector towards the chosen node.
    The parameter, based on the screen position, is mapped in the reals by an exponential and in the imaginary by a branched logarithm.
  3. The iterated point moves on a linear interpolation to the chosen node with a complex parameter of the output of the sum of a complex expoentiation function and the chosen node.
  4. The iterated point moves by a rotation of a constant complex vector (the output of the sum of a complex exponentiation function and the chosen node) towards the chosen node.
  5. The iterated point moves to the output of the iterated sum of a complex exponentiation function and the chosen node
    The parameter, based on twice the screen position, is used as the exponent.

For the last two algorithms to work the probability of the point being reset must be more than 0, adjustable via the fifth mouse-selector mode. Otherwise the point iterates away from the canvas in most cases and thus produces not much of an image.