23 Aug 2017
The program initializes a list of floats evenly distributed between 0 and 1, the size of the list being equal to the number of pixels in the image. It then places agents on the empty pixel grid. The agents move in a cardinal direction on the grid, placing pixels behind them. The first pixel each agent places is random, but for subsequents pixels a value is chosen from the list based on it’s similarity to the nearby pixels, then placed and removed from the list. Whenever an agent runs into an area where pixels are already placed, it turns left or right.