Erika Harrison
Spring, a season of new birth and fertility, has - possibly since pre-historic times - been celebrated in Eastern European cultures with the decorating of eggs. Between 1885 and 1917, the Russians Czar - started by Alexander III, and continued by his son, Nicholas II - expanded the decorating of eggs by annually commissioning jewelled eggs for the Czaritsa from the jeweller Karl Fabergé.
One of the interesting decoration techniques used on the eggs was the use of Guilloche machining on the metallic egg surface. This machining technique is rarely used today, but can be seen in specialized hand-crafted watches. Further, the geometric curves or designs were historically used on paper money to deter money fraud.
The inherent complexity of these patterns is mainly based on the intricate turning machines used in the engraving process. Several metal gears, and swinging pendants are combined and specially calibrated so when run produce an interesting, but often hard to replicate design.
Several pieces of software presently exist for the production of Guilloche patterns on a planar surface. However, there appears to be limited research on curved surfaces, such as what occurs on a Fabergé egg. Given the rotary movement of a mechanical gear, construction of cycloid patterns in spherical geometry is a logical first step. The ultimate goal in reproducing Guilloche patterns on eggs becomes the ability to produce a generalized roulette pattern on the eggs.
Basic Idea: Use a general equation to create planar Guilloche patterns, and project them onto a sphere.
Guilloche technique, as described above, is a type of cycloid. To generalize this, we'll look at roulettes, which are parametrically described using the following:

A, B, C, D, E, F, G, H are user controlled parameters, t increasing with time.
Of the four common projection methods - orthographic, gnomonic, stereographic, equal area - we choose to work with stereographic to preserve the geometric design. Stereographic project converts the 2D (x, y) coordinates of the planar Guilloche pattern to the 3D (x, y, z) coordinates by:


Rendering this out onto a sphere, we immediately recognize that this naïve approach does not give us the desired designs as exhibited on Fabergé eggs.
Basic Idea: Spherical Helixs orthogonally projected onto the plane given epicycloid patterns.
Here, we're working backwards - from sphere to plane, rather than plane to sphere as above - to see if we can generalize the spherical helix to form generalized cycloids, or trochoids. Spherical helixs can be described parametrically by the following:


Where r is the radius of the sphere, o is the angle of the helix with respect to the z axis, and w is the angle around the sphere over time. The orthographic projection produces an epicycloid with the parameters:

where an epicycloid has the following parametric coordinates:

Rendering this out onto the sphere and plane, we immediately recognize that this indeed appears to be a valid construction of Guilloche patterns. However, it does not cover all possible designs, such as fancier curves as produced by trochoids.
Basic Idea: Mathematically parse out how an actual circle would roll along another circle on a sphere – both circles being continuously in contact with the sphere.
This is a simple rotation problem, and can be solved in the following steps:
Once these transformations have been complete, the point is then located where it should appear at the given time T. This gives the computations required to create a cycloid on a sphere. To generalize this to a trochoid, in step #2, we can move the point some user-defined distance from the rotating circle (inside or outside).
Simple orthographic projection on to the XY plane has been included so as to provide a planar representation, and better compare to 2D design.
Basic Idea: Given a sphere, deform it into the shape of an egg.
This can be easily handled by processing a given point on a unit sphere. For each vertex on the unit-sphere:
A basic implementation of this performs a simple scaling check. If the y value is less than half, perform a linear scale on the x and z values. Otherwise, perform a scale on the x and z values based on a partial sinusoidal curve as it relates to the y position. Although not ideal, it demonstrates the ease of sphere to egg conversion.
There are several extensions that could be applied to the above application. In order of increasing complexity: