The goal of this problem is to slice a unit circle into two pieces which can be fit into a rectangle of minimal area.
Consider these three methods:
One: Slice the circle across its diameter and slide the pieces along each other a little.
What distance between the radii of the two semicircles gives the smallest rectangle? This rectangle has a smaller area than square that circumscribes the original circle. What is the ratio of rectangle to square?
Two: Slice the circle along a diameter and place these into a rectangle so the straight edges of each semicircle are along opposite edges of the rectangle.
What is the ratio of rectangle to square this time?
Three: Slice a segment off of the circle and place this segment to the side. The large piece's straight edge is along one side of the rectangle. The straight edge of the segment is tangent to the large piece but not necessarily parallel to a side of the rectangle.
What chord length minimizes the rectangle? What is the ratio?
Note: Part Three is may be particularly difficult to find an exact solution for. If you have a method of finding a good approximation feel free to share your results.
The two longer sides of the rectangle will be tangent to one of the semicircles and go through an endpoint of the straight portion of the other. The shorter sides will of course be perpendicular to these and tangent to the semicircles.
Call the amount of offset x. The distance of the midpoint of the diameter of one semicircle to the farther endpoint of the other semicircle's diameter will then be 1+x. If a line segment is constructed from the midpoint of the diameter to the point of tangency to the long side, its length is just 1, the radius of the original circle. The angle that this segment makes with the cut line, theta, then has a cosine equal to 1/(1+x). The intersection of the rectangle with the cut line has a length of 2+x, and its shorter sides are parallel to the constructed segment, so the width of the rectangle is (2+x)*cos(theta) = (2+x)/(1+x).
The long portion of a long side (from corner to cut line) has length 1 + tan(theta), while the shorter portion has length 1 - sin(theta). The latter is obtained by constructing a similar triangle to the first, by constructing a line parallel to the constructed segment (and parallel to the shorter ends of the rectangle) going through an endpoint and having hypotenuse 1 (on the opposite side of the same semicircle). This cuts off sin(theta) from the length.
So the full length of the rectangle is 1 + tan(theta) + 1 - sin(theta) = 2 + tan(theta) - sin(theta). The area is therefore (2 + tan(theta) - sin(theta)) * (2+x)/(1+x), where theta = arccos(1/(1+x)). You could convert the tan and the sin to appropriate square roots, etc., involving (1+x), and then differentiate, but I preferred to minimize numerically:
DECLARE FUNCTION acos# (x#)
DEFDBL A-Z
DIM SHARED pi
CLS
pi = ATN(1) * 4
delta = .1
x = 0
DO
theta = acos(1 / (1 + x))
w = (2 + x) / (1 + x)
l = 2 + TAN(theta) - SIN(theta)
a = w * l
IF didOne THEN
IF a = aPrev THEN EXIT DO
IF a > aPrev THEN
delta = -delta / 8
END IF
ELSE
didOne = 1
END IF
x = x + delta
aPrev = a
wPrev = w
lPrev = l
LOOP
PRINT x
PRINT w, l, a
PRINT delta, theta * 180 / pi
PRINT wPrev, lPrev
PRINT a / 4
FUNCTION acos (x)
IF ABS(x) = 1 THEN
a = pi / 2 - pi / 2 * (SGN(x))
ELSEIF x = 0 THEN
a = pi / 2
ELSE
a = ATN(SQR(1 - x * x) / x)
END IF
acos = a
END FUNCTION
which produces (with my annotations added):
offset x= .2203640970641985 (distance between midpoints of the diameters--uncertain about the non-bold portion)
width = 1.819427581002814 length = 2.126308894272828 area = 3.86866504797158
OOM of uncertainty of x = 5.960464566356904 x 10^-09 tilt = 34.97246659805801 degrees
width and length giving same area, but x changed by its uncertainty: 1.819427585005037 and 2.126308889595554
ratio of rectangle area to square area = .967166261992895
Edited on August 22, 2007, 12:14 pm
|
Posted by Charlie
on 2007-08-22 12:08:34 |