Process Overview
Conceptualization
My process for this project began with the tool Professor St. John provided for generating simple Voronoi Diagrams. The p5.js for this tool is available on the course website, as well as to the right. (Visiting the actual website is recommended due to the squishing of embedded object.)
I spent a while playing around with this, which helped me come up with a idea for the general format of my project. I decided to inlay an unrelated image inside of a specified workspace, and then create a Voronoi Diagram around that shape. Or, in other words, I wanted my design to arise from a bounded Voronoi Diagram. Professor St. John's tool, while helpful for visualizing the diagrams, particularly as it related to the Delaunay Triangulation, but it did not have the capabilities to manage irregularly bounded Voronoi Diagrams. I intended to create the diagram within a rectugular space and bend it around my wrist to serve as a wristband.
After a brief look at existing tools, including the other ones featured on the class website, I didn't find any designed to do what I wanted to do. So, since Gemini had assisted with the creation of the original tool, I hoped it would be effective at modifying it to meet my needs.
Gemini Experimentation
It was not.
I tried several times, across multiple conversations and with several different approaches. It really, really did not work. The full conversation(s) can be viewed below:
However, in case you didn't feel like reading the nearly 100 combined pages of text, here are some highlights of the experience:
Generally, the biggest issue was one of problem scale. In the initial program I envisioned, the user would have the ability to upload an image (which I intended to be some silhouette against a white background), the program would isolate the image, and translate it into coordinates demarcating an area, and then build a Voronoi Diagram around that central image. Gemini struggled with several aspects of this, but the most common issue was in the translation of an image file format (.png, .jpg, ect) to usable data within the code. This is very much a solved problem. There are a number of tools (such as Convertio — File Converter), which can handle the task fairly easily. That being said, it is not a trivial task by any means.
I suspect that, had I left the translation step to a third-party tool, either within a pipeline or by user conversion prior to use, this would have had a much greater chance of working. However, I did not do that, and you can see some bloopers to the right.
Eventually, I arrived at the third image. This image had several issues. First, the fox was not solid, with holes around its paws. And, perhaps more significantly, this wasn't a Voronoi Diagram. It was conceavably a Voronoi Diagram with a fox overlaid over the middle, which would result in the cells on the edge of the fox no longer necessarily being accurate to the rules of a Voronoi Diagram. That doesn't necessarily mean they were wrong, however, just that they probably were. In the end, I decided that was close enough, and to just accept it. I would, however, fix the hole in the fox's legs.
Final Reflection