Shape Grep
Shape Grep is the name I gave to a project to perform shape-based search-and-replace. The idea is that you’d start with a collection of geometric primitives (like the polygons making up an object), and a bunch of rules. Each rule identifies the kind of shape it applies to, and it instructs the system to remove the shape it matches, and replace it with the rule’s new shape. This is just like text search and replace, only for shapes.
It’s a huge amount of fun to come up with these replacement rules, and then run them a few times in succession. You can start with a very simple object of just a few polygons, and rapidly make something complex and interesting.
In these examples, I always started with an icosahedron: a roughly ball-like Platonic solid made of 20 equilateral triangles. I ran my shape grep system on that geometry, turning each triangle into a new collection of shapes. Then I ran shape grep again on those results, repeating the process with new replacements until I liked the results. I gave the overall shape a color, set up a light, and rendered it in 3D.
Click any image to see it enlarged, or to open a gallery of all images. You might see some bloom in the images – thee pictures were all shot with a film camera of the screen of an SGI Indigo computer.
By the way, the name comes from the Unix utility grep, which performs this task on text (legend is that the name comes from an early editor command, which is actually a shorthand description for how to search an entire document: g for global (search everything), re for regular expression (the thing you’re searching for), and p for print (that is, display the found results). The Unix command grep is an everyday command-line utility in many operating systems.


























