All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Shapes > Geometry
Cutting Corners (Posted on 2007-02-27) Difficulty: 5 of 5
Take a polygon with area S1 and pick a number r in [0,1/2]. Take vertex A that connects sides AB and AC and add points M and N on these sides so that AM/AB=AN/AC=r. Cut corner A along MN. Cut all other corners the same way.

After repeating these steps infinite times we will get a figure with an area S2. Let's F(r)=S2/S1. It's clear that F(0)=1 and F()=0.

Questions:

(a) What is this function for square?

(b) What is this function for equilateral triangle?

(c) Is it possible to get a circle from a square or from an equilateral triangle this way?

(d) Is it possible that this function is universal for all triangles, or for all rectangles, or for all polygons?

No Solution Yet Submitted by Art M    
No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
tabulating F for the triangle, square and regular pentagon | Comment 8 of 20 |

The following program in VB 5.0 (only the algorithmic part shown) keeps track of the x and y coordinates of 14 generations of polygon starting with each of equilateral triangle, square and regular pentagon, with r (variable called frac) varying from .01 to .49 at intervals of .02. The area of each is found by Heron's formula applied to a breakdown of the polygon into triangles with one vertex at the center and one edge coincident with an edge of the polygon. The area is then divided by the area of the original triangle, square or pentagon.

Dim x(1000000), y(1000000), xNew(1000000), yNew(1000000)
Dim pi, dr, areaOrig, frac, sides

Private Sub cmdStart_Click()
 Open "cutting corners.txt" For Output As #2
 pi = Atn(1) * 4: dr = pi / 180
 For sidesOrig = 3 To 5
  For frac = 0.01 To 0.49 Step 0.02
   sides = sidesOrig
   incr = 360 / sides
   For i = 1 To sides
    angle = i * incr
    x(i) = Cos(angle * dr): y(i) = Sin(angle * dr)
   Next
   areaOrig = area()
   For i = 1 To 14
    Call divvyIt
    DoEvents
   Next
   Print #2, sidesOrig, frac, area() / areaOrig
  Next
 Next
 Close
End Sub

Function area()
 a = 0
 For i = 1 To sides
  s1 = Sqr(x(i) * x(i) + y(i) * y(i))
  ip1 = i + 1: If ip1 > sides Then ip1 = 1
  s2 = Sqr(x(ip1) * x(ip1) + y(ip1) * y(ip1))
  xd = x(i) - x(ip1): yd = y(i) - y(ip1)
  s3 = Sqr(xd * xd + yd * yd)
  s = (s1 + s2 + s3) / 2
  a = a + Sqr(s * (s - s1) * (s - s2) * (s - s3))
 Next
 area = a
End Function


Sub divvyIt()
 For i = 1 To sides
  ip1 = i + 1: If ip1 > sides Then ip1 = 1
  im1 = i - 1: If im1 < 1 Then im1 = sides
  xNew(i * 2 - 1) = x(i) * (1 - frac) + x(im1) * frac
  yNew(i * 2 - 1) = y(i) * (1 - frac) + y(im1) * frac
  xNew(i * 2) = x(i) * (1 - frac) + x(ip1) * frac
  yNew(i * 2) = y(i) * (1 - frac) + y(ip1) * frac
 Next
 sides = 2 * sides
 For i = 1 To sides
  x(i) = xNew(i): y(i) = yNew(i)
 Next
 sides = sides
End Sub

The results are:

n               r                area ratio
 3             0.01          0.999694002448065
 3             0.03          0.997138618058553
 3             0.05          0.991758241758228
 3             0.07          0.983287858117326
 3             0.09          0.971492257156317
 3             0.11          0.956180589088248
 3             0.13          0.937221396737034
 3             0.15          0.914556962053026
 3             0.17          0.88821557513045
 3             0.19          0.858320251407409
 3             0.21          0.825092544080909
 3             0.23          0.788850453087247
 3             0.25          0.750000000931304
 3             0.27          0.709020756711921
 3             0.29          0.666446325560179
 3             0.31          0.622841444882343
 3             0.33          0.578777720820273
 3             0.35          0.534810126733177
 3             0.37          0.49145616646746
 3             0.39          0.449179140522402
 3             0.41          0.408376349133236
 3             0.43          0.369372442019184
 3             0.45          0.332417582417581
 3             0.47          0.297689699025004
 3             0.49          0.265299877600972 
 
 4             0.01          0.999796001631998
 4             0.03          0.998092412038989
 4             0.05          0.994505494505502
 4             0.07          0.988858572078206
 4             0.09          0.980994838104205
 4             0.11          0.970787059392139
 4             0.13          0.95814759782472
 4             0.15          0.943037974702018
 4             0.17          0.925477050086977
 4             0.19          0.905546834271634
 4             0.21          0.883395029387269
 4             0.23          0.859233635391501
 4             0.25          0.833333333954223
 4             0.27          0.806013837807946
 4             0.29          0.777630883706801
 4             0.31          0.748560963254881
 4             0.33          0.719185147213503
 4             0.35          0.689873417822104
 4             0.37          0.660970777644983
 4             0.39          0.632786093681606
 4             0.41          0.605584232755492
 4             0.43          0.579581628012783
 4             0.45          0.554945054945063
 4             0.47          0.531793132683342
 4             0.49          0.510199918400665
 
 5             0.01          0.999859040594551
 5             0.03          0.998681889137223
 5             0.05          0.996203390079002
 5             0.07          0.992301462647655
 5             0.09          0.986867756110856
 5             0.11          0.979814354495635
 5             0.13          0.971080701352272
 5             0.15          0.960640208553128
 5             0.17          0.94850590808105
 5             0.19          0.934734467654193
 5             0.21          0.919427946935218
 5             0.23          0.902732834291905
 5             0.25          0.88483616615817
 5             0.27          0.865958858598862
 5             0.29          0.846346719665549
 5             0.31          0.826259898658383
 5             0.33          0.805961708997442
 5             0.35          0.7857078021225
 5             0.37          0.765736568942403
 5             0.39          0.7462614313048
 5             0.41          0.727465407683486
 5             0.43          0.709498049704287
 5             0.45          0.692474596397636
 5             0.47          0.676477011567258
 5             0.49          0.661556467461076

In the case of n = 3 (triangle), the limit as r approaches 1/2 is, as expected, 1/4; for squares (n=4), 1/2. The limit for pentagons is a little harder. It obviously has overshot 2/3, so it's not that. The formula for the limit as r approaches 1/2 starting with a regular n-gon is sin^2 (90 - 180/n). So for a pentagon that's (sin(54))^2 ~= .6545084971874737.

The only recognizeably rational number above is for the triangle, with r = 1/4, where the ratio of the areas is 3/4, with the value shown, 0.750000000931304, giving an indication of the lack of accuracy caused by stopping after 14 iterations.  (I'm actually assuming here that the exact value should be 3/4--I don't have a proof).


  Posted by Charlie on 2007-02-28 21:39:56
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (4)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2017 by Animus Pactum Consulting. All rights reserved. Privacy Information