Photo in, bead-curtain schematic out, with a bill of materials and numbered squares for hand sorting. Test subject: the Mona Lisa in neon.
About the project
Bead curtains and stacked-brick images were the goal, and I had no way to plan either one. Taking a photo and forcing it into a handful of physical colors sounds simple. It is not. So I built the planner first.
You drop a photo in, lock it to a grid, and map the cells to whatever inventory of colors you actually have. The engine reduces the image into that strict color space. Because real inventory never matches a photo cleanly, I built a few different rendering options to choose between. The heavy math, k-means clustering in particular, would normally freeze the tab, so I pushed it into a Web Worker. The first real test was forcing the Mona Lisa into a neon rainbow palette. It came back as a PDF schematic with a bill of materials and numbered squares for hand sorting.
I have not built the bead curtain yet, though it is still a good first project for it. The real destination is bigger. I want to build one of those marble picture machines that drops colored marbles down a series of columns to form an image, then clears it and starts over. TangiPix is the engine that will tell it what to drop.
- TypeScript
- React
- Vite