2

Divide a circle into n segments of equal area where all segments share a common point on the circumference of the circle.

The segments must be created by drawing straight lines from a common point on the circumference to the point at which they intersect the circumference again. Each segment must have an equal area.

I am adding the simplest case here in the event that my description is unclear (wanting A, B, C to have equal areas in the attached image).

The use case here is agricultural - a single gate opening into several fields of equal area so it doesn't need to be mathematically perfect, just close enough - I would be happy with an approach which minimized the difference in the area of n segments inside the circle.

2 Answers2

5

enter image description here

Let us take the common point as the origin. Let $R$ be the radius of the circle, with its origin in $(R,0)$.

The polar equation of this circle is

$$\rho=f(\theta)=2R\cos \theta, \ -\pi/2 < \theta < +\pi/2.$$

The area "browsed" by the radius between $\theta_k$ and $\theta_{k+1}$ (for $1 \le k \le n-1$) is

$$\int_{\theta_k}^{\theta_{k+1}}\frac12 f(\theta)^2 d\theta$$ $$=2R^2\int_{\theta_k}^{\theta_{k+1}}(\cos \theta)^2 d\theta$$ $$=R^2\int_{\theta_k}^{\theta_{k+1}}(1+\cos 2\theta) d\theta$$ $$=R^2 \underbrace{(\theta+\frac12 \sin(2\theta))}_{f(\theta)}]_{\theta_k}^{\theta_{k+1}}$$ $$=R^2\left(f(\theta_{k+1})-f(\theta_k)\right)\tag{1}$$

Therefore, this issue is brought back to the division of line segment $(-\pi/2,\pi/2)$ into $n$ equal parts by function $f$.

If $n$ is the number of "zones", we know that each area is equal to $\frac{\pi R^2}{n}$. Therefore we have to find a sequence of values $\theta_k$ such that :

$$f(\theta_{k+1})-f(\theta_k)=\frac{\pi}{n}\tag{2}$$

$f$ is in fact invertible on $(-\pi/2,\pi/2)$ because $f'(\theta)>0$ on this interval. Therefore, we can write recurrence (2) under the form :

$$\theta_{k+1}=f^{-1}\left(f(\theta_k)+\frac{\pi}{n}\right)\tag{3}$$

This recurrence works because :

  • we know the initial value $\theta_0=\frac{\pi}{2}$.

  • though $f^{-1}$ hasn't an analytic expression, its values $\theta=f^{-1}(u)$ can be computed by solving equation $f(\theta)=u$ by definition of an inverse function.

Here is a Matlab implementation (where inverse function $f^{-1}$ is denoted $g$ and computed as a separate function).

 function main
 clear all;close all;hold on;axis equal;
 u=0:pi/100:2*pi;plot(1+cos(u),sin(u),'r');
 n=26;
 f=@(t)(t+0.5*sin(2*t));
 t=-pi/2; % \theta_0
 for k=1:n-1
    t=g(f(t)+pi/n); % implem. of formula (3)
    plot([0,1+cos(2*t)],[0,sin(2*t)]);
 end;
 function t=g(u);
 syms t1
 X=solve(t1+0.5*sin(2*t1)==u);
 t=X(1);

Remark : In fact, this answer can be considered as "issued" from the answer I had given here to a completely similar question. The formulation of this answer wasn't direct enough (this explains maybe why it hadn't been upvoted) ; I think the present version, with its accompanying program, is clearer.

Jean Marie
  • 88,997
2

For the solution of $$t+\frac 12 \sin(2t)=u$$ I shall use my favored $\large 1,400^+$ years old approximation od the sine function.

This boils down to the solution of the cubic equation $$t^3+bt^2+ct+d=0$$ where $$b=-\left(u+2+\frac{\pi }{2}\right)\qquad\qquad c=\frac{\pi}{16} (8 (u+2)+5 \pi )\qquad\qquad d=-\frac{5 \pi ^2 }{16}u$$

Let $$p=c-\frac{b^2}{3}\qquad \qquad q=\frac{2 b^3}{27}-\frac{b c}{3}+d$$ and the solution is given by $$t=-2\sqrt{\frac p 3}\sinh\left(\frac 13 \text{arcsinh}\left(\frac {3q}{2p} \sqrt{\frac 3 p } \right) \right)-\frac b 3$$ Checking for a few values $$\left( \begin{array}{ccc} u & \text{estimate} & \text{solution} \\ 0.1 & 0.049723 & 0.050042 \\ 0.2 & 0.099924 & 0.100336 \\ 0.3 & 0.150791 & 0.151146 \\ 0.4 & 0.202548 & 0.202756 \\ 0.5 & 0.255464 & 0.255487 \\ 0.6 & 0.309876 & 0.309715 \\ 0.7 & 0.366206 & 0.365897 \\ 0.8 & 0.425013 & 0.424614 \\ 0.9 & 0.487048 & 0.486635 \\ 1.0 & 0.553379 & 0.553030 \\ 1.1 & 0.625606 & 0.625386 \\ 1.2 & 0.706320 & 0.706251 \\ 1.3 & 0.800223 & 0.800220 \\ 1.4 & 0.917578 & 0.917297 \\ 1.5 & 1.091410 & 1.089880 \\ \end{array} \right)$$