Divide circle into 9 pieces of equal area
I'd like to divide a unit circle disk into nine parts of equal area, using circle arcs as delimiting lines.
The whole setup should be symmetric under the symmetry group of the square, i.e. 4 mirror axes and 4-fold rotational symmetry. The dividing arcs should all be of equal curvature. (Thanks to the comment by i. m. soloveichik for making me aware this latter requirement.) For these reasons, several areas will automatically be of the same size, indicated by a common color in the figure above. There are three different colors corresponding to three different shapes, and the requirement that all three of these should have the same area therefore corresponds to two equations. This agrees nicely with the fact that there are two real parameters one may tune, e.g. the distance $d$ between the center of the figure and the centers of the dividing circles, together with the radius $r$ for these dividing circles. Other combinations are possible.
But how would one obtain the actual numbers for these parameters? Is the solution even unique?
I understand that it might be difficult to give an exact answer to this question. So numeric answers are acceptable as well, as long as they explain how the numbers were obtained, not only what the numbers are.
Solution 1:
To answer your second question: The solution is unique.
For a fixed distance $d$ of the centers, there is a unique radius $r$ of the dividing circles to makes the area of the green part $\frac19$ of the whole circle. Clearly, with growing $d$, $r$ must grow. In fact, the square determined by the four vertices of the green part must grow because with bigger $r$, the excess of the green shape over that square gets smaller. But that means that the vertices wander towards the outside of the circle and also the arcs become flatter, both in effect making the blue parts smaller. Therefore, there is only one $d$ (with matching $r$) that makes the blue parts $\frac 19$ each, which then automatically solves the complete puzzle.
The solution itself can only be found numerically.
Solution 2:
Based on the answer by Hagen, I wrote a bit of code to numerically compute $d$ in an outer loop and $r$ for a given $d$ in an inner loop. The results I obtained look like this:
\begin{align*} r &= 4.740253970598989846488464631691100376659654929999896463057971 \\ d &= 4.441836291757233092492625306779987045065972123154874957376197 \end{align*}
This was computed using arbitrary precision interval arithmetic, so unless I completely garbled up my bisection algorithm, the given digits should be reliable.
The parameters denote the common zero of these two functions, written in Python for Sage and using the comment by joriki:
def area1(d, r):
"""Deficit value of two blue and one red area."""
x = (r^2 - 1 - d^2)/(2*d) # intersection as @joriki described it
a1 = 2*x.arccos() # angle for the central circle
a2 = 2*((d + x)/r).arccos() # angle for the outer circle
a1 = (a1 - a1.sin())/2 # angle of central circle segment
a2 = (a2 - a2.sin())/2*r^2 # angle of outer circle segment
return d.parent().pi()/3 - (a1 - a2) # expected minus actual moon shape
def area2(d, r):
"""Excess value of the green area."""
x = ((2*r^2 - d^2).sqrt() - d)/2 # intersect outer circle with line x = y
a2 = 2*((d + x)/r).arccos() # angle for outer circle
a2 = (a2 - a2.sin())/2*r^2 # area for one green circle segment
return ((2*x)^2 + 4*a2) - d.parent().pi()/9 # square + segments - expected
The signs of the results are chosen such that area2
increases with $r$ for fixed $d$, while area1
increases with $d$ for optimal $r$. Approximating the resulting areas using polygons, I could verify the result with resonable precision, so I believe that in this second attempt (see edit history for first mistake), I got the formulas right.
The resulting figure, by the way, looks like this: