
The entire human chromosome #1, with A, C, T, and G color coded and rendered as individual pixels. Created with Processing using data via Project Gutenberg.
Software, hardware, art – a blog of process and findings

The entire human chromosome #1, with A, C, T, and G color coded and rendered as individual pixels. Created with Processing using data via Project Gutenberg.

Spent far too much of the weekend making this version of MS Paint in Processing.js where you are thrown back 17,000 years to Lascaux Cave.

As the starting point for developing haptic and otherwise non-visual games for a project in collaboration with Harvestworks’ “Cultural Innovation Fund” program, I’ve been poking around the Android documentation for developing apps with Processing for tablets and mobile devices. Since this is a relatively new feature for Processing developers (and since the Android syntax is a bit weird), the first step was to figure out how to get everything working.
In the spirit of sharing, I’ve created a GitHub repository for these experiments, as well as a detailed set of instructions for getting started. I have also created a GitHub repository for this project, which will be a bit of a mess over the next 3-4 months of development but will hopefully get cleaned up as the project nears completion.
These examples and projects are being developed for the Google Nexus 10 tablet – it seemed the beefiest and most flexible for the price. If you have problems with any of these examples on your device, please let me know so I can update them!
In the pipeline:
Above: a giant d-pad

Seam-sorted sunset: epic.





Random seeds, sorted and incrementally gathering neighboring pixels – source images mostly desert landscapes seen from above. Lots of color/detail loss from shrinking.

More pixel sorting – this time it’s getting weird. Using “seed” pixels from standard edge-detection, they grow like crystals, being sorted each step. This image is an iteration of 100 steps from the initial seeds.




An experimental image compression: pixel blocks converted to gradients between darkest and lightest pixels in block.






Sorting an image’s pixels spirally from left to right, outside to inside.





Images sorted along the middle “energy seam”, applied across the entire image, then rotated and the process is repeated several times.





Sorting pixels along a middle “energy seam”, similar to how Photoshop’s “content-aware scaling” works, with additional glitchy goodness. Source images (top to bottom) are: an idyllic mountainscape, a crowd of people, the face of a weird looking man, a missile launch, and sheep on a mountain hill.