Let $\mathbf{p}(t)$ parametrize a jordan curve in the plane with the interval $[0, \ 1]$.
How can I find the smallest circle that encloses all points of this curve?
This question relates to the Smallest-circle problem
Examples:
- If $\mathbf{p}$ describes the boundary of a polygon, the circle would be the one that contains all the vertices
- If $\mathbf{p}$ describes the circle, then the bounding circle would be equal to $\mathbf{p}$.
Basically I'm looking for an algorithm to find this circle.
I thought about using an algebraic approach: find three parameters $t_0$, $t_1$ and $t_2$ to maximize the radius over these three variables. From this question we get the expression
$$r = \left| \left(z_1-z_0\right) \cdot \dfrac{w-|w|^2}{w-\overline{w}}\right|; \ \ \ \ \ \ w = \dfrac{z_2-z_0}{z_1-z_0}$$
With $z_0$, $z_1$ and $z_2$ being the complex numbers generated by the position of $\mathbf{p}$ at values $t_0$, $t_1$, $t_2$
To find the maximum radius, I would use Newton's method with some starting values, but is there another way?
Example: Reduce the problem to one of finding the circle that passes through $n$ points, the candidates, then the problem is easier.
- Set the candidates the points which $\mathbf{p}$ is not analitic, at the joints
- Add the points with smallest curvature to the candidates
- Compute the baricenter, move it to the origin and add the furtherest point.
- Divide the curve by segments, find the bounding circle of each segment, and then find the biggest circle that encloses all the smaller circles
Notes:
- $\mathbf{p}$ is limited
- $\mathbf{p}$ is analitic by parts
- $\mathbf{p}$ doesn't intersect itself
- $\mathbf{p}$ is closed