Below is a screen capture of the beard generator application I created in openFrameworks. Parameters could be adjust to control the appearance of the beard, such as max length, max curliness, gravity, etc.
I drew some guide lines in Illustrator so I would know the general shape of the beard. Imported the lines into OF and made a grid of hairs and watched them wander, curl and grow.
One issue with the pen plotter is the lack of clipping. Which can be seen in the above gif. The lines eventually just form a dark mass of curlies. The plotter receives commands that construct lines and outlines, so I had to write some clipping code so that each hair would look more like a tendril. The output after clipping below.
Now onto the braids. Instead of creating the braids entirely programmatically, I wanted finer control of their appearance. So I created three “braid pieces” in Illustrator. They are in green, pink and yellow. I designed them to be repeatable, nestling in nicely with their neighbors.
Each piece has four points of reference, as shown by the orange circles. They helped me determine the width and height of the braid and the offset of the lines to the center axis. I used the local x distance from the center axis to rotate the line points around a curve using the normal along the curve.
This position rotation is applied to every point in every line of each piece. The results of using many braid pieces along curved paths are depicted below.