In any case, I wanted to write my own algorithm to generate these patterns. I would have liked to have done this in a formal mathematical way. I settled for a more procedural approach. I wound up making two arrays. One to store the constructor points and one to store a random color for each constructor. I then iterate through every point in the grid. For each point I check its distance to every constructor and save the index of the nearest one. I then use that index to get a color and set the current pixel to that color. This approach could be improved as it has some obvious inefficiencies. It's also not nearly as cool as defining the regions mathematically would be but it dose effectively display Voronoi tessellations for the given constructor points.
Here are some examples of the output:
Read more to see more examples.