Years ago I worked for Kodak and helped write PostScript front ends for their laser print engines. This gave me a knowledge of computer controlled page layout. During that time I stumbled on Ghostscript, which was a shareware PostScript engine that would allow you to write the final output device driver for your printer device. Ghostscript was free to download from Gnu at the time. It is still available at http://www.ghostscript.com/
and runs on current PC computers. Eventually I stumbled upon a Postscript extension that wrote PostScript in 3D and output the result onto a non-planar surface, or render views of a Postscript image from a view port in 3D space. This document describes similar PS extensions- http://www.math.ubc.ca/~cass/graphics/manual/pdf/ch13.pdf
At that point I knew it was possible to make a device similar to the 'Egg-Bot' that would render a PostScript page shaped to the surface of an egg. In a perfect world you would first scan the egg to make a model of the surface of each egg you desire to render artwork upon. I figured the best way to make such a device would be to coat the egg with photo resist, point a laser a the egg and use two stepper motors to move the egg about in a gimbal exposing the photo resist. Washing the egg would remove the excess unexposed photo resist, then it could be dyed to the desired color. Use of a laser and gimbal would remove the concern for pen slippage, pen resistance, mechanical backlash, and registration errors producing very precise output quality. Perhaps even allowing halftone printing if the laser could be controlled with a shutter or acousto-optic modulator (AOM).
All that said, this Easter it became time to experiment with a much more simple solution. I made a cardboard box the size of most eggs. I then added a shelf in the box where the egg could be mounted with two pins through egg axis.. one for the north pole, one for the south pole. The egg could then be rotated along this axis allowing lines to be placed for various lines of latitude on the egg. If an equator was carefully marked the egg could be incrementally turned carefully to mark lines of longitude as well. In this way an entire grid could be produced for rendering tile based artwork upon the egg. Small disks (paper punch made from thin cardboard) were glued to the ends of the eggs to enable the pins to be placed closer to the eggs true axis and obscure the holes made by blowing out the contents of the eggs.
(see image of cardboard egg holder)
In previous experiments I had produced PostScript code which would randomly produce the necessary Bezier curve control points to make jigsaw puzzle hooks and nooks. Other code in my collection would produce Truchet curves and other interesting tile patterns.
(see image of jigsaw puzzle pieces)
Putting all this together I produced these eggs a gift for a friend one rainy day. They are marked by hand on the grid produced with my cardboard egg rotator using a black fine point Sharpie pen. Shapes (hooks vs nooks, or Truchet tile orientation) were defined by random coin flip.
(see image of finished eggs)
Sure wished I had an Egg-Bot to simplify the production and allow much more complicated designs! If I owned an Egg-Bot I'd write a Ghostscript driver for it, allowing all PostScript output designs to be applied directly to an egg's surface and transformed to fit it like it was shrink wrapped on the egg. Perhaps this article will inspire some Egg-Bot owner to write a Ghostscript driver for the device.