Categories
etcetera

Ambiguous Digits 1: Classification-based

I wanted to create a set of numbers that look like different numbers when they’re rotated 180°, but I especially wanted a computer to do it for me. I’ve been using TensorFlow recently, and that sounded like a good place to start. There is a standard data set used for number identification, the MNIST database, […]

Categories
etcetera

Generative Writing

I wanted to generate random hand-written letters and have them look like writing. I wanted each alphabet to have a unique style: aspect ratio of characters, sharpness, and number of strokes. In the following image, each row is a different generated alphabet. Seems to work alright. They are visually distinct, though sometimes too complicated. Now […]

Categories
etcetera

Worm Trails

Branching patterns are great. Here, the little movers die upon hitting a path, and respawn at the location of another mover. With some tweaks, this system can make a lot of nice patterns. You can even play with it online here! The basic version is here: That’s fun to watch evolve, but there are so […]

Categories
etcetera

Animated Rorschach Blots

Using metaballs and thresholding, here’s an animated Rorschach blot: You can play with a variety of options at this link.

Categories
etcetera

Gingery Roots

You can get pretty nice patterns just by moving circles around. Here are some of them. I vary the speed, wiggliness, transparency, and coloration.

Categories
etcetera

Trees

Trees are nice branching things. Here’s some pictures with generated trees. If you want to generate your own, play with the snowy trees here, and the colorful trees here.

Categories
etcetera

Rug in the Wind

I wanted to make an image out of strings, like if the threads of a shag carpet were extended, and dyed to match the colors of an underlying image. The strings hanging statically are no fun, so I added some wind, based on Perlin noise. Here’s a gif of the result: There’s lots of different […]

Categories
etcetera

Hill-Climbing With Shapes

This code randomly puts shapes on a background, and sees if the added shape brings the new image closer to a target image. If the shape does, it is jittered more until it’s done improving the image for a certain number of iterations. For example, using 40 triangles on the Lena image: Neat. How about […]