Recently I was browsing the 2025 North American Bonsai Pottery Competition website, and I came across a few really intriguing pots by Brian Kritzman. It’s worth checking out his Instagram feed for more of his work, but two of his submissions were interesting irregular pentagon-shaped pots – a composition called Barren Farmland and another called Industrial Debris Pile.
I sat down with the Canvas tool in Gemini to see if I could figure out how to create similar shapes, and Pentashell Studio is the result – there are two sliders (Elliptical Distortion and Radial Distribution) that let you squeeze and distort the base pentagon, then you can adjust the height, taper and cut angle of the top edge of the planter. There is a button that lets you download a 3d .STL file (which will need some verification and adding of feet and drainage holes if you want to go straight to print) and a 🎲button to randomise all values.
This project uses the three.js library, which is pretty powerful, and with the help of Gemini I was able to set up the shape pretty quickly. Even though this is vibe coding, there’s still a benefit to working systematically. In this case, my process went roughly like this:
- The first prompt was to generate a pentagonal prism with a slider for ‘wonkiness’ which randomly adjusted the position of the points of the pentagon
- The next few prompts worked on the flare/taper as well as the cutoff angle
- I noticed that some faces were not rendering, and I guessed that this was probably because the normals were facing the wrong way (a common problem with 3d modelling) so I spent some time making sure Gemini had the winding order right.
- I then worked on making the shape hollow, with adjustable thickness. Quite a bit of time was spent here making sure the winding order and geometry was correct for all the faces.
- Next I added STL export. I haven’t tested this extensively but the files I have downloaded all opened smoothly
- Finally, I added the randomise button and then spent some time tweaking the ranges of the sliders – there’s a balance here between making sure that most randomly generated options make sense, and on the other hand having enough control that you can model anything you like.
Here’s the live html file for you to play around with:
Leave a Reply