The "silhouette" is composed of a set of points (x,z) that can be described in the following way. For each fixed z, take one of the lines and find the x-value corresponding to that value of z. Then choose the lines that gives the maximum and minimum values of x for that z.
It is sufficient, and extremely convenient, to take our circles to be 1 unit below and 1 unit above the xz-plane. For a fixed , we form the set of all lines joining a point on the bottom circle with a point on the top circle. Projecting these onto the xz-plane (i.e., wiping out the y-coordinate) we can write an equation for the line joining the two points. (I chose to parameterize the lines, eliminate the parameter and solve for x.)
Easy identities then give the following expression for x.
Recalling a technique (that we used to teach, and that Matt doesn't seem to recall) for adding sines and cosines of equal period,
,
we recognize our formula for x as a horizontally shifted cosine or sine curve of amplitude in the variable φ. So the maximum and minum values of x, for each z, satisfy
,
or
,
which is a hyperbola.
Note: by a suitable change of vertical and horizontal scale, we can find equations for hyperbolas generated by parallel (and co-cylindrical) circles of any radius and separated by any distance.