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. Opened this in Photopea, and manually fixed the gap in the fox's legs., resulting in the image to the left Perfect!
It was not, in fact perfect.
When I tried to import this svg into Fusion 360, I recieved an odd error message stating that the file had no actual data for the program to read.
Somewhere in the process of generating the base image, adding the fox, and editing the image as described, the actual line data in the svg was either overwritten/damaged or never existed in the first place. My best guess is that, when I asked Gemini to generate an svg, it technically did generate a file with the .svg extention, but without any of the actual data that makes it an svg. So, I threw out everything I had done with Gemini. Feel free to ignore everything above this point, as it is no longer relevant.
So, since I was throwing aout just about everything I had done so far, I also wanted to change my end goal. As previously mentioned, I had intended this to be a wristband with an embedded image. Hence, I had been going for large rectangular Voronoi Diagrams, so as to give them the best chance of actually bending properly. However, it occured to me that, at the scale that would be required for a wristband, having that many tiles would result in dozens of incredibly tiny tiles, which seemed like a poor idea. Instead, I decided to make the design (once I finished it) into a pendant. Since it would never need to bend, I could simplify the design and it would have minimal chance of breaking. Additonally, I decided that I was going to fully give up on using any automated tools to get the result I wanted, and that I was just going to do it manually. With these changes in mind, I came up with the following plan:
Super Special Ultra-Victory Plan
Generate a Voronoi Diagram svg
Convert the fox image into an svg
Import both svgs into Autodesk Fusion
Combine the two.
Cut out the circular shape of the necklace and hole for the chain using Fusion
3D print & assemble
World Domination
Step 1 was trivial. I simply used the original version of Professor St. John's tool to generate a simple Voronoi Diagram. Since I no longer needed it to bend, the exact form no longer really mattered. The base image I ended up using is to the right.
Step 2 took a little more time. Most tools that I found weren't great at converting an image file into an svg. Most either didn't support the operation at all or returned malformed results. However, the website Convertio — File Converter was able to handle it quite well.
Step 3 took a few seconds practially, but a bit longer in reality as I tried to figure out how Fusion actually worked.
Step 4 took a very long time, at least comparatively. I would guess a couple hours in total. For whatever reason, I found Fusion very unintuitive. I spent a large amount of time researching how to do something, getting a bad result, and discarding any progress to retry. Specifically, I spent nearly an hour trying to figure out how to move one image relative to the other.
Final Reflection