One of my favorite Processing apps I’ve written is this one I affectionately call ‘Grass’. I try not to explain these apps too much because I think it’s natural for the viewer to make sense of my programs in whatever way they like, but I’ll make an exception in this case. In one way or another this app is inspired by long summer evenings at Greenlake in Seattle where I lived for two years.
[processing width=”600″ height=”300″ file=”http://benvancitters.com/wp-content/uploads/2011/03/microGrass.jar” method=”onclick”][/processing]
Once the program is loaded you can move the mouse to control the ‘wind’ blowing over the scene.
In my opinion, there are some pretty interesting things going on under the hood of this app. For starters, the background gradient is procedurally generated by the technique used in my ‘Bezier Gradient’ app. The strands of grass are neat too. They are drawn as a series of triangles deformed along a ‘spine’. I coded up the physics of the spine myself as well and they’re pretty extensible; hopefully soon I’ll get around to doing my hairdryer program to show them off in more glory ;).
The fireflies (which I should mention don’t actually live anywhere near Seattle) are simulated with a very long parameterized sinusoidal series which I wrote myself that allows me to control how fast and far they can move each frame as well as how convoluted their path is.