*Disclaimer: it was a mug, not a coffee cup. I just like alliteration.*

A few days ago, I went into the kitchen to make some milkshakes. I took two mugs from the cabinet and placed them on the worktop. Looking into the bottom of the mugs, I noticed an odd light pattern. Running around each of their bases was a circle of ‘seagulls’, one for each ceiling light in the kitchen. The white arrows on the picture opposite show the directions towards the lights; the dashed arrow corresponds to the light obscured by my hand. We can see that one seagull forms opposite each light source. What’s going on here?

**Model**

Let’s build a simple model of my kitchen. Situated on the worktop is a cylindrical mug of unit radius and height . The bottom surface of the mug lies in the plane = 0, and the mug’s axis of rotational symmetry coincides with the axis.

Consider a single ray emerging from a light on the ceiling that makes angle with the vertical and strikes the inner surface of the cylinder at position

This is the most generic expression for a point on the mug’s inner surface. Clearly, is restricted to the range . If we further assume that the light ray is confined to the plane and moves in the positive direction, the angle is necessarily restricted to the range .

We’re first going to work out a vector equation for the line describing the specularly reflected ray. We know that it starts at the point . All we need is its new direction of propagation.

If the ray’s original direction was , and the surface normal at its point of contact with the mug was , its new direction satisfies

where the constant is chosen such that = 1. By definition of angle , the incoming direction vector is

Meanwhile, the normal vector at the point of incidence is

regardless of the coordinate . Thus

We’ve now got an expression for , chock-full of angles. The vector equation describing the line traced out by the reflected ray is thus

which in component form reads

The parameter > 0 allows us to slide ‘back and forth’ along the ray’s path.

Our goal is now to work out the coordinates of the spot where the ray hits the bottom of the mug. The -coordinate is, by definition, zero. The corresponding parameter therefore satisfies

Plugging this parameter back into our expression for tells us the corresponding – and -coordinates:

I have forgotten just one thing: we have to be sure the ray can actually reach the point , i.e. it does intersect the opposite side of the mug. A little geometry shows that this constraint may be expressed as

**Results**

So, we’ve found where a ray with a particular direction and point of intersection will hit the bottom of the mug, and the conditions under which its able to do so. How can we use our equations to recreate the full pattern see in the photo?

In principle, we should consider all values of and possible for a given value of , and *then* all possible values of for a given ceiling light: the beam emitted by a ceiling light comprises a continuum of rays spanning a whole range of angles of incidence . This will trace out a continuum of points on the bottom of the mug, giving us the pattern. For simplicity, we’ll look at a set of light patterns for which the value of is unique – this is a reasonably good approximation if the ceiling light is far from the mug and so the range of angles is small.

The light patterns formed for four different values of are shown in the diagram to the right; the light source for each comes from the top of the image. The most interesting feature is the variation in the shape of the ‘beak’ with . The sharpness of the beak initially increases with , coming to form a particularly sharp cusp at 15 degrees. The beak subsequently becomes more diffuse the greater ; you can see that an increasingly large smudge of light spills out into the centre of the mug. The main point, though, is that the simulated light patterns are brightest along their inner edge, which resembles the silhouette of a bird – the theory is not too far from reality!

So, if ever you see a mysterious pattern of light in your kitchen … don’t be afraid to decode it with geometric optics!