Locus Tracing

The Friday, March 20, 2026 puzzle posed by Fiddler on the Proof is as follows.

I have a loop of string whose total length is 10. I place it around a unit disk (i.e., with radius 1) and pull a point on the string away from the disk until the string is taut.

Figure 1
Figure 1

I drag this point around the disk in all directions, always keeping the string taut, tracing out a loop. What is the area inside this resulting loop?

Solution

The string length is decomposed into three different parts.

The first part is half the circumference of the circle, which is \(\pi\).

The second part are the small arcs of the circle prior to the string being tangent to the circle. For some \(x_c\), this is \(\frac{\pi}{2}-\arccos(x_c)\) - twice this for the arc on the bottom as well. So, a total of \(\pi - 2\arccos(x_c)\).

The third part, are the two tangent lines off the circle to the point on the x-axis. Given the point on the circle \((x_c, \sqrt{1-x_c^2})\), assume that \(x_{10}\) on the x-axis is the point that will give us a string length of 10 in the end. Using the fact that the slope of the line going through the point \((x_c, \sqrt{1-x_c^2})\) is \(\frac{-x_c}{\sqrt{1-x_c^2}}\) we can use the formula for a line to find that \(x_{10} = 1/x_c\).

Thus, the distance between the point on the circle and the point on the x-axis is \(\sqrt{(x_c-\frac{1}{x_c})^2 + (\sqrt{1-x_c^2}-0)^2} = \sqrt{\frac{1}{x_c^2}-1}\). We need to multiply this by 2 for the total distance.

Finally, putting the three parts together, we get that the string length (SL) can be written as \[ SL = 2\pi - 2\arccos(x_c) + 2*\sqrt{\frac{1}{x_c^2}-1} \label{eqn1} \]

Below, a function is created to provide a string length. We use another function that subtracts 10 from the string length so we can find the root \(x_c\) that satisfies this. Since \(x_{10} = 1/x_c\) is the radius of the loop that will be drawn, we can calculate the area as \(A = \pi/x_c^2\) as the final calculation.

# SL function in equation 1. 
SL <- function(x){
  return(2*pi-2*acos(x)+2*sqrt((1/x)^2-1))
}

# Subtract 10 from the SL to create a function to find a root. 
g <- function(x) SL(x) - 10

## Here is the root answer
x_c <- uniroot(g, lower=0, upper =1, tol = 1E-12)$root
x_c
## [1] 0.3053131
x_10 <- 1/x_c
x_10
## [1] 3.275327
# Calculate the area as the last step
A <- pi/x_c^2
A
## [1] 33.70227

The area of the loop is then about 33.7.

Extra Credit

The Extra Credit was written as follows.

Now I have a loop of string whose total length is 14, and I place it around two adjacent unit disks. As before, I pull a point on the string away from the disks until the string is taut.

Figure 2
Figure 2

I drag this point around the disks in all directions, always keeping the string taut, tracing out a loop. What is the area inside this resulting loop?

Extra Credit Solution

This taut string will draw the outline of an ellipse. An observation that will save some algebra is that the semi-major axis will have length that is 1 more than the radius used in the previous problem. In the first problem, we view the circle as being centered at (0,0) while in this problem the two circles are centered at (-1,0) and (1,0). If you subtract the string length of 4 that is between the center tops and center bottoms of the two circles, you can see that this works.

The semi-major axis length is \(a = x_{10} + 1 \approx 4.275\).

So, the work will be in finding the length of the semi-minor axis. Let’s break the length of the taut rope when we bring the loop around so that the point is due north on the y-axis. This will have four parts.

First, we have the length of 2 that is being stretched along the bottom.

Second, there are the two 1/4 arcs of the circle that sum together to be \(\pi\).

Third, we have the small arcs of the circle until the string is tangent. The point on the right circle where this will occur has the form \((x_d, \sqrt{1-(x_d-1)^2})\). The length of one of the arcs would be \(\arccos(x_d-1)\).

Fourth, there are the two tangent lines. Using the fact that the slope of the line on the right side is \(\frac{-(x_d-1)}{\sqrt{1-(x_d-1)^2}}\), we can solve for the particular \(y_{14}\) along the y-axis that this line will go through. This is \(y_{14} = \frac{x_d}{\sqrt{1-(x_d-1)^2}}\).

Thus, the distance between \((x_d, \sqrt{1-(x_d-1)^2})\) and \((0, \frac{x_d}{\sqrt{1-(x_d-1)^2}})\) can be solved, and it turns out the distance is as the value of \(y_{14}\), which is \(\frac{x_d}{\sqrt{1-(x_d-1)^2}}\).

Putting this all together gives the string length of the extra credit problem (SLEC) as, \[ SLEC = 2 + \pi + 2*\arccos(x_d-1)+2*\frac{x_d}{\sqrt{1-(x_d-1)^2}} \]

Below, we define the semi-major length a, the SLEC function, and then a function that subtracts 14 so we can find the root. This root will allow us to solve for the semi-minor axis value b, which is the \(y_{14}\) value above.

Finally, the area of the loop (or the ellipse) is \(\pi * a * b\).

a <- x_10 + 1

SLEC <- function(x){
  2+pi + 2 * acos(x-1) + 2*x/sqrt(1-(x-1)^2)
}

h <- function(x) SLEC(x)-14

x_d <- uniroot(h, lower=1, upper = 2, tol = 1E-12)$root
x_d
## [1] 1.87844
b <- x_d/sqrt(1-(x_d-1)^2)
b
## [1] 3.930994
EArea <- pi * a * b
EArea
## [1] 52.7985

The area of the loop around the two unit circles (the ellipse) is about 52.8.