• P is a convex, near regular 2023sided polygon.
• Precisely 2022 of its sides have length 1, but the remaining side has a length different from 1.
Determine the maximum area of the polygon.
I'll assume, since the polygon is nearly regular, that, except for the two angles at the end of the irregular side, all the other angles are equal, and that those angles at the end of the irregular side are equal to one another.
The vertices still lie on a circle, so we shall consider their relation to the center of this circle. All of them will lie on an arc of some size which I'll call the splay angle.
The regular sides together with lines from the vertices to the center of the circumscribing circle form a series of 2022 thin isosceles triangles. The angle at the vertex of each such triangle is the splay angle divided by 2022; call this the sharp angle. The base of each such triangle is 1, as given in the puzzle. Each line from the circle center to a vertex equals .5 divided by the sine of half the sharp angle, and the height of each triangle is .5 divided by the tangent of half the sharp angle. The area of each isosceles triangle is therefore this height times the base (1) divided by 2.
When multiplied by 2022, this becomes the area of a fanshaped polygon that may be concave (if the splay angle is greater than 180°) or convex (if the splay angle is less than or equal to 180°). If concave, the polygon in the puzzle's question has within it the center of the circumscribing circle and the triangle formed by the irregular side and the two lines from its ends to the circle center must have its area added in to that of the fan, as it is also part of the target polygon. On the other hand if the splay angle is less than 180°, the center of the circumcircle is not included in the target polygon and the area of the triangle in question must be subtracted from that of the fan instead of added.
The following program tabulates the results of these calculations:
for splay=350:10:20
sharpAngle=splay/2022;
longSide=.5/sind(sharpAngle/2);
h=.5/tand(sharpAngle/2);
A=2022*h/2;
bigAngle=360splay;
if splay<180
bigAngle=splay;
end
opp=longSide*sind(bigAngle/2);
h=longSide*cosd(bigAngle/2);
A2=opp*h;
if splay>=180
A=A+A2;
else
A=AA2;
end
fprintf('%10.6f %16.9f\n',splay,A)
end
producing
splay deg. Area
350.000000 344159.594313771
340.000000 364344.363168387
330.000000 385740.369899174
320.000000 408145.419825653
310.000000 431321.407780855
300.000000 454996.471114788
290.000000 478867.891130754
280.000000 502605.712557469
270.000000 525857.034925816
260.000000 548250.914579759
250.000000 569403.801849582
240.000000 588925.424980071
230.000000 606425.021042065
220.000000 621517.804538351
210.000000 633831.556983020
200.000000 643013.215583574
190.000000 648735.336436033
180.000000 650702.307452425
170.000000 648656.188620451
160.000000 642382.062133868
150.000000 631712.782360340
140.000000 616533.025406584
130.000000 596782.550021492
120.000000 572458.595519267
110.000000 543617.358034858
100.000000 510374.503431578
90.000000 472904.693222214
80.000000 431440.118570769
70.000000 386268.056426157
60.000000 337727.480706504
50.000000 286204.779808110
40.000000 232128.649170378
30.000000 175964.243817962
20.000000 118206.690380657
Narrowing it down to near 180° splay angle:
for splay=181:.1:179
sharpAngle=splay/2022;
longSide=.5/sind(sharpAngle/2);
h=.5/tand(sharpAngle/2);
A=2022*h/2;
bigAngle=360splay;
if splay<180
bigAngle=splay;
end
opp=longSide*sind(bigAngle/2);
h=longSide*cosd(bigAngle/2);
A2=opp*h;
if splay>=180
A=A+A2;
else
A=AA2;
end
fprintf('%10.6f %16.9f\n',splay,A)
end
>> maximumPolygonArea
181.000000 650682.263839351
180.900000 650686.068889359
180.800000 650689.474427911
180.700000 650692.480213664
180.600000 650695.086005699
180.500000 650697.291563527
180.400000 650699.096647087
180.300000 650700.501016746
180.200000 650701.504433299
180.100000 650702.106657974
180.000000 650702.307452425 <
179.900000 650702.106578741
179.800000 650701.503799439
179.700000 650700.498877469
179.600000 650699.091576214
179.500000 650697.281659488
179.400000 650695.068891539
179.300000 650692.453037049
179.200000 650689.433861134
179.100000 650686.011129346
179.000000 650682.184607670
The maximum area is 650702.307452425, when the center of the circumscribing circle is at the center of the side that's unequal to the rest. The long side of each of the isosceles triangles is 643.622654601361, and the unequal side is then twice this, or 1287.24530920272.
The polygon is not too different from a semicircle with the same radius (the circumscribing circle):
>> pi* 643.622654601361^2 /2
ans =
650702.569251834

Posted by Charlie
on 20230530 13:57:03 