Art Nouveau Style Crescent

Art Nouveau Style Crescent

A common design element in Art Nouveau portraits was a crescent which contained many circles or circular designs, as seen in Alfons Mucha's Dancel. I wanted to generate such crescents myself, so I figured out the math involved.

The central circle of the crescent is trivial - its radius is that of the outer circle minus that of the inner. For each following circle, we need the circle that is tangent to the inner circle, the outer circle, and the neighbor circle. After a few attempts to solve it myself with algebra, I went looking online and found Soddy Circles and the Descartes circle theorem, which says that the relationship of the radii of such circles is:
 2( b12 + b22 + b32 + b42) = ( b1 + b2 + b3 + b4)2
where b (for bend) is the reciprocal of the radius of the circle, and the outer circle's radius is treated as negative.

In my case, I had an inner, an outer, and a neighbor circle, and I wanted the smaller of the two solution radii (which is the larger of the two solution bends). Using the quadratic equation, I get the solution
 C = I + N + O + 2 sqrt(IN + NO + IO)
where C = bcurrent, I = binner, N = bneighbor, and O = bouter (remember that O is negative). The position of the new circle is simply the intersection of the inner circle and the neighbor circle, with their radii each increased by the current circle's radius.

I've written postscript code to generate these circles: The png on this page was generated with this ps code, as is this pdf version of the same image and this eps version. If you want to trace them, I've provided a version that doesn't fill the circles: PS PDF EPS.

Please email me if you know anything about how Mucha and other Art Nouveau artists created this effect - did they do this much math, or did they just eyeball it?

Created Thursday, April 13 2006 by Denis Moskowitz. Last modified Thursday, March 5 2009. Thanks to Adobe, Wolfram, and Alfons Mucha.