Quick Start
Click here to play with the topology mapper: https://justinparrtech.com/JustinParr-Tech/apps/jstopology/JS-Topology.html
- Click the “Raindrops” button to generate some raindrops.
- Click the “Play / Pause” button
The three sliders at the top allow you to control the raindrops. Adjust them then click “Raindrops” for a new board.
Using Cellular Automation to Map Topology
Let’s say that you have raindrops. Let’s say that the raindrops are actually paint drop. When each paint drop falls, it leaves a circle. Some of these circles overlap, while others don’t. What’s the easiest way to find out if the regions inside all of the raindrops are all connected?
This solver uses Cellular Automation:
- All “raindrop” cells are cataloged.
- We start with 5 “seeds” picked randomly from the list of raindrop cells.
- Now, we look at the neighbors of every cell:
- If a “raindrop” cell borders a seed cell, it takes the state of that seed.
- If a seed cell borders a seed of higher rank, it switches to the state of the higher-ranked cell.
- If we reach a stable state (no cells switched states)
- We look at the list of “raindrop” cells and select 5 more candidates.
- If a candidate already has a seed state, that candidate is discarded.
- If we run out of candidates, then the topology is solved.
- We look at the list of “raindrop” cells and select 5 more candidates.
- Once the topology is solved, any seed which retained it’s original state is a “surviving seed”.
- We simply print a list of all surviving seeds.

Above, we have some “paint” raindrops on a black background. Below, the topology of those raindrops is solved:
