Simply knowing the number of teeth on a chainring can we determine an accurate diameter?
A chainring is an n-sided regular polygon where n is the number of teeth. The side length s of the polygon is the distance from tip-to-tip of each chainring tooth.
The formula for radius of a regular polygon is:
Using zenbike's 12.75mm above for s, we get 107.61 for the radius, or 215.22mm for the diameter, which is very close to his approximation.
Comparing the two formulas shows that the length term, as expected, can be eliminated. This leaves us with:
1 / sin( pi / n ) vs. n / pi
For large n, those terms converge, introducing an error of just .12mm when n=53. It's a bit larger as n gets smaller, differing by .64mm for n=11.
For all practical purposes, I'd just use s * n / pi, even for the smallest cog you'll come across it'll be within a millimeter.
I posted this question on math.se, and got an interesting answer, which basically confirms Lantius' answer as the more accurate mathematical model, and mine as a practical approximation for the bicycle world.
With only the number of teeth, no.
But given the number of teeth, and the required spacing from tip to tip of each tooth to match the chain for the brand of chain ring used, you can easily determine the circumference.
With the circumference, it's simple math to determine the diameter.
Divide the diameter by Pi (3.14159 to the 5th decimal)
C = D/3.14159
So if the number of teeth is 53, and the spacing is 12.75mm, we have a circumference of 675.75 millimeters.
675.75 millimeters divided by 3.14159 gives a diameter of 215.1 millimeters. Converted and rounded to 2 places, it's 8.46 inches.
I've measured the diameter of a 53 tooth Shimano chain ring, and it is 8.51 inches. So I believe my math should be as accurate as the tolerances in my measurements.
If you only know the pitch of the chain (standard for most bicycles) and number of teeth, then you can fully describe the circle (and n-gon) through the pin centers only. I will do my best to do the math formulas in a readable way with text, but I will fully describe each of the four circles/n-gons:
n = number of teeth
L = chain pitch (link length) (12.7mm for most bicycles)
See below for valley, roller top, and tooth top measurements. Note that tooth tops can vary between manufacturers and will vary throughout the life of the ring. The alternate method at the bottom is probably the easiest method to use for frame clearance.
Since you know the pitch of the chain (1/2" or 12.7mm is a 40 series chain typically used on a bicycle), the chain-pins will form a regular n-gon (a polygon with n-sides of equal length), with each side being equal to 12.7mm. The formula for the perimeter of this n-gon is rather simple (below) and would be fine for most approximations. Note that this is also equal to the chain length that would be wrapped around the ring (the chain would follow the n-gon, not the circle).
Perimeter of n-gon made by pin centers
Perimeter of n-gon = L * n = 12.7 * n mm
However, this is not entirely accurate to describe the circle through the pin centers. The more accurate formulas are below:
Circle through pin centers
circumference = pi * L / (sin (180 / n)) = 39.8982 / (sin (180 / n)) mm
radius = L / (2 sin (180 / n)) = 6.35 / sin (180 / n) mm = 'pcRad' (pin center radius)
diameter = L / sin (180 / n) = 12.7 / sin (180 / n) mm = 'pcD' (pin center diameter)
Now, we will need additional information to describe the two related circles / n-gons:
For the valley floors and roller tops, we need to know the radius or diameter of the chain roller around the pin. According to http://en.wikipedia.org/wiki/Roller_chain, a 40 series chain has a roller-diameter of 0.312" (7.92mm). Since the distance from pin-center to the bottom of the valley is the radius of the roller:
Circle / n-gon about valley floors
rRad = roller radius (3.96 mm for most bicycles)
Perimeter of n-gon of valley floors = 2 * n * (pcRad - rRad) * sin (180 / n)
= 2n * (pcRad - 3.96) * sin (180 / n) mm
floorRadius = pcRad - rRad = pcRad - 3.96 mm
floorDiameter = 2 * fRad = pcD - 2 * rRad = pcD - 7.92 mm
Circle / n-gon of the tops of the chain rollers
Perimeter of n-gon of roller tops = 2 * n * (pcRad + rRad) * sin (180 / n)
= 2n * (pcRad + 3.96) * sin (180 / n) mm
rollerTopRadius = pcRad + rRad = pcRad + 3.96 mm
rollerTopDiameter = 2 * rtRad = pcD + 2 * rRad = pcD + 7.92 mm
rollerTopCircumference = pi * rtD = pi * (pcD + 2 * rRad) = pi * (pcD + 7.92) mm
Now, for the final circle / n-gon to describe, we need the tooth height above the pin centers. I would expect this to be positive on a new chain ring and negative on a worn one:
Circle / n-gon of the tooth tips
t = tooth tip height above pin centers (negative if below)
Perimeter of n-gon of tooth tips = 2 * n * (pcRad + t) * sin (180 / n)
tipRadius = pcRad + t
tipDiameter = 2 * tRad = pcD + 2 * t
tipCircumference = pi * tD = pi * (pcD + 2 * t)
Alternatively, to make this computation a bit easier (yet slightly less accurate on a worn chain ring), you can measure your own individual tooth spacing. Ideally they would be slightly longer than the chain pitch, but that will change as the chain wears:
Circle / n-gon of the tooth tips - Alternate
tSpacing = average distance between tooth tips
Perimeter of n-gon of tooth tips = n * tSpacing
tipRadius = tSpacing / (2 sin (180 / n))
tipDiameter = 2 * tRad = tSpacing / sin (180 / n)
tipCircumference = pi * tD = pi * tSpacing / (sin (180 / n))