Creamos \; un \; círculo \; de \; área  \; C \; = \; \frac{ a_1 }{r }

y  \; un  \; sector  \; de \; área \; S\; =\;  \frac{ a_1 }{1-r } 

a_1 r³

a_1 r

a_1 r²

Prosiguiendo indefinidamente,
S = a_1 + a_1 r + a_1 r² + a_1 r³ + ...

a_1  \; +   \; a_1   \; r   \; +  \;  a_1  \;  r²   \; +   \; a_1   \; r³  \;  +  \;  ...  \;  =   \; \frac{ a_1 }{1-r}

Como  \; S  \; = \;   \frac{ a_1 }{1-r}  \; obtenemos:

Sea a_1 un primer número (positivo) 
y r un número positivo menor que 1/2

Creamos un círculo rojo concéntrico
de área r veces la del círculo C, es decir, a_1. 

La zona verde restante tendrá la misma área.

Repetimos la operación con el círculo rojo...

a_1 r²

a_1 r

a_1

a_1

p = 3.141592653589793
a_1 = 20 (slider from 0.1 to 40, step 0.1)
r = 0.4 (slider from 0.1 to 0.49, step 0.01)
sumandos = 0 (slider from 0 to 7, step 1)
α: 2.0 * p * r / (1.0 - r)
O = (0.22, 0.22)
A': O - (0.0, 2.0)
a = Ray(O, A')
R0: sqrt(a_1 / (p * r))
c0 = Circle(O, R0)
c1 = Circle(O, sqrt(r) * R0)
c2 = Circle(O, r * R0)
c3 = Circle(O, r * sqrt(r) * R0)
c4 = Circle(O, r^(2.0) * R0)
c5 = Circle(O, r^(2.0) * sqrt(r) * R0)
c6 = Circle(O, r^(3.0) * R0)
C00 = Intersect(c0, a, 1.0)
C10 = Intersect(c1, a, 1.0)
C20 = Intersect(c2, a, 1.0)
C30 = Intersect(c3, a, 1.0)
C40 = Intersect(c4, a, 1.0)
C50 = Intersect(c5, a, 1.0)
C60 = Intersect(c6, a, 1.0)
C01 = Rotate(C00, -(α) / 2.0, O)
C11 = Rotate(C10, -(α) / 2.0, O)
C21 = Rotate(C20, -(α) / 2.0, O)
C31 = Rotate(C30, -(α) / 2.0, O)
C41 = Rotate(C40, -(α) / 2.0, O)
C51 = Rotate(C50, -(α) / 2.0, O)
C61 = Rotate(C60, -(α) / 2.0, O)
C02 = Rotate(C00, α / 2.0, O)
C12 = Rotate(C10, α / 2.0, O)
C22 = Rotate(C20, α / 2.0, O)
C32 = Rotate(C30, α / 2.0, O)
C42 = Rotate(C40, α / 2.0, O)
C52 = Rotate(C50, α / 2.0, O)
C62 = Rotate(C60, α / 2.0, O)
sector0 = CircleSector(O, C01, C02)
sector1 = CircleSector(O, C11, C12)
sector2 = CircleSector(O, C21, C22)
sector3 = CircleSector(O, C31, C32)
sector4 = CircleSector(O, C41, C42)
sector5 = CircleSector(O, C51, C52)
sector6 = CircleSector(O, C61, C62)
sector7 = CircleSector(O, C61, C62)
c1b = Circle(O, sqrt(r) * R0)
c2b = Circle(O, r * R0)
c3b = Circle(O, r * sqrt(r) * R0)
c4b = Circle(O, r^(2.0) * R0)
c5b = Circle(O, r^(2.0) * sqrt(r) * R0)
c6b = Circle(O, r^(3.0) * R0)
arco1 = CircleArc(O, C11, C12)
arco2 = CircleArc(O, C21, C22)
arco3 = CircleArc(O, C31, C32)
arco4 = CircleArc(O, C41, C42)
arco5 = CircleArc(O, C51, C52)
arco6 = CircleArc(O, C61, C62)
T0 = (4.26, -5.82)
b = OrthogonalLine(T0, xAxis)
T1 = Point(b)
T2: T1 - (0.0, 1.0)
text6: "C = " + (a_1 / r)
text7: "S = " + (a_1 / (1.0 - r))
C00' = Mirror(C00, O)
T3: T1 - (0.0, 2.0)