Big Hairy Bush - Hair Particle Drawing Project
The hair particle drawing project was originally intended to be and still is a component of a larger ongoing project. It is based around a ParticleFX engine I wrote for a game some time ago. I altered the particles to behave like growing hair. In the early stages of development, the particles rendered long and flowing hair with loose curls. For the Big Hairy Brush application, hair with a tighter, more erratic curl was required. In general, hair growing in darker areas grows longer and thicker and maintains a tighter curl. This is to preserve some of the detail that would get overgrown otherwise. Hair will continue to grow over time. This portrait of President Bush was grown over a weekend.
Big Hairy Bush is intended to be non-partisan and humorous. It is my belief that all career politicians have something unattractive that they hide. Intentional or not, the nature of their careers requires compromise and back-door dealing. President Bush was a convenient subject for this exercise, but it is certainly possible to replace Bush with any career politician from either political party.
The beauty industry and the advertising industry have conditioned us to hide or cover up so called “unwanted hair” such as back hair, pubic hair, arm pit hair, and leg hair. We cover it up, shave it, and wax it off. With the proliferation of mass media, it is desirable to whitewash the unattractive traits of politicians. Using hair as a metaphor for that which is undesirable, what would politicians look like if they did not cover up their unwanted hair?
A small gif thumbnail of the president was downloaded and used by the application for reference. The gif is parsed by the application at runtime, and grayscale index color values are stored in a lookup table. A particle manager was coded to prevent the application from overloading. The particle manager references the lookup table, and based on the lookup table data, it assigns a group of hair particles to locations in the canvas area and initializes them.
Once a particle has been initialized, it begins to draw itself, maintaining a variety of vectors including scale, opacity, mutators, growth direction, and life span. Mutators are passed to the particles to cause them to grow grayer or more kinky. When a particle has reached the end of its life span, it disposes of itself and messages the particle manager that it is done drawing.