Experiment: FLOW - PhotonBursted/PIE GitHub Wiki

FLOW

The FLOW algorithm works following a pretty standard principal.

  1. Node placement.
    n nodes are to be created and receive a random color.
  2. Node addition.
    The nodes that have been created are placed in the activity queue.
  3. Node selection.
    A random node from the activity queue is marked as "visited" and is removed from said queue.
  4. Imprinting.
    The chosen node imprints their color into the BufferedImage.
  5. Reproduction.
    This means the node will essentially add its direct, unvisited neighbors to the activity queue.
  6. Calculation.
    The newly added neighbors will receive a color that is based on their neighbors.
    This color basically consists of average color of visited neighbors +/- rnd.
    rnd is a randomly generated double between 0 and delta.

Step 3-6 are repeated as long as the activity queue remains populated. n and delta are both parameters that are required by the user before the algorithm starts.