I was leaning back in my chair gazing out the window last week looking for inspiration for a photo project. A small house across the street has so many surfaces and facets but it’s stark whiteness caught my attention as supplying a unique blank canvas. So I waited until sunset and snuck over there with a ladder and backpack full of spray paint cans…. no… that isn’t actually what happened!
While thinking about neat ways to embellish the house I got to thinking about the idea of engraving a maze into it. A maze programmatically designed to maximize usage all the contiguous wall space going around each window, up to the roofline and covering all sides. That sounded like a neat bit of software to write!
While there are more sophisticated ways that I could enhance my program, I succeeded at my initial goal which was to be able to mask a photo, have my software generate a maze within that masked area, and then in photoshop be able to use that maze to embellish a photo. Here is a test using a random picture I took when I was on a business trip in Ireland and escaped for the day to wander around Kinsale, it seemed a good easy building to start with!
Not too shabby for a proof of concept! As you can see the maze is engraved into the building and I assure you that it is a complete fully connected actual maze optimized to the mask I clipped off. I think artistically I prefer the maze to not attempt to look so photorealistic like this though, it is a high a bar for me to nail perfectly and instead I think I stand to make more of a statement by highlighting the maze as clearly an out of this world embellished element. I will play around some more and get some feedback and see what happens! I want to do something with more surfaces at various angles next and I’m also contemplating spherical objects too.
Programmatically I accomplished this by writing a bit of software in C# and implemented a maze making algorithm called Prim’s algorithm. It is actually relatively simple algorithm although it is often explained online in unnecessarily complicated ways, I think this video is a great explanation if you want to learn more. For those that may be interested in my prototype code, here it is: https://github.com/rosolam/SurfaceMaze
I’m off to put more mazes on things… hmm… bet I can get this fed into my laser cutter 🙂