Estimating the Area and Perimeter of a Circle and π Using Archimedes' Method

Archimedes estimated the area of the circle E, by using successive approximations with inscribed and circumscribed polygons. Here is a modern variant of this method. Consider a partition of the circle into n equal sectors, each sector subtending an angle of 2*π/n from the center. The key idea is that (OAB) < SectorArea(OAB) < (OA'B') and AB < ArcLength(AB) < A'B'.

circle

Estimation of Area:

AB and OC, are:

AB=2*r*sin(π/n) and
OC=r*cos(π/n)

Therefore the triangle OAB has area:
1/2*2*r2*sin(π/n)*cos(π/n)=
r2/2*sin(2*π/n) =>
OAB=r2/2*sin(2*π/n)

The total area for the inscribed polygon then, will be given by LE=n*OAB, so a lower bound for the area of the circle will be:
LE=n*r2/2*sin(2*π/n) (1)

A'B' and OC', are:
A'B'=2*r*tan(π/n) and
OC'=r

therefore the triangle OA'B' has area:
OA'B'=r2*tan(π/n)

The total area for the circumscribed polygon then, will be given by UE=n*OA'B', so an upper bound for the area of the circle will be:
UE=n*r2*tan(π/n) (2)

Finally, LE < E < UE and (1),(2) give:

area bounds 1 (8)

Now, rewrite (8) as:

area bounds 2 (9)

and note that when n->∞, x=π/n->0, limx->0sin(2*x)/(2*x)=1, limx->0tan(x)/x=1, so by the squeeze limit theorem, (9) =>

area

Estimation of Perimeter:

Similarly the perimeter P of the circle can be calculated as follows:

AB as before, is:

AB=2*r*sin(π/n)

The total perimeter for the inscribed polygon then, will be given by LP=n*AB, so a lower bound for the perimeter of the circle will be:
LP=2*n*r*sin(π/n) (10)

A'B' is:
A'B'=2*r*tan(π/n)

The total perimeter for the circumscribed polygon then, will be given by UP=n*A'B', so an upper bound for the perimeter of the circle will be:
UP=2*n*r*tan(π/n) (11)

Finally, LP < P < UP and (10),(11) give:

perimeter bounds 1 (12)

Now, rewrite (12) as:

perimeter bounds 2 (13)

and note that when n->∞, x=π/n->0, limx->0sin(x)/x=1 limx->0tan(x)/x=1, so by the squeeze limit theorem, (13) =>

perimeter

Here's then some Maple code based on the above method to estimate π:

> LE:=(n,r)->1/2*n*r^2*sin(2*Pi/n);
> UE:=(n,r)->n*r^2*tan(Pi/n);
> E:=r->Pi*r^2;
> evalf(LE(5000,1));
3.141591828
> evalf(E(1));
3.141592654
> evalf(UE(5000,1));
3.141593068

> LP:=(n,r)->2*n*r*sin(Pi/n);
> UP:=(n,r)->2*n*r*tan(Pi/n);
> P:=r->2*Pi*r;
> evalf(LP(500,1/2));
3.141592448
> evalf(P(1/2));
3.141592654
> evalf(UP(500,1/2));
3.141593068