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

Home > Shapes > Geometry
Ring sets (Posted on 2022-09-22) Difficulty: 3 of 5
Define a "ring" as a grouping of congruent regular polygons, each sharing a side with two others, made into a fully rotationally symmetrical ring. That is, it has as many rotational symmetries as there are polygons.

For example, 6 equilateral triangles can be made into a very tight ring, as can 4 squares or 3 regular hexagons. Ten regular pentagons can also be made into a ring with a nice decagon inside. For hexagons, there can also be a ring of 6 with a central hexagon. The central region need not be a regular polygon.

The "Ring Set" R(n) is the set of possible numbers of n-gons that can make a ring.

From the above examples, R(3)={6}, R(4)={4}, R(5)={10} and R(6)={3,6}. Find a rule to describe R(n).

No Solution Yet Submitted by Jer    
Rating: 5.0000 (1 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Solution computer solution Comment 1 of 1
In traversing any ring, one can proceed from the center of a side to the center of its polygon and deflect (change course) by some angle that will carry it perpendicularly to the center of the next attached polygon. Each deflection must be the same amount to get the same number of rotational symmetries as the number of polygons. 

Beyond 3 and 4 sides, there is a choice as to which edge to aim for (it doesn't matter if it's right or left, just be consistent), determined by the deflection angle, leading to different numbers of polygons. Only those sets of polygons that return to the original one count. To do so, the deflections in total must come out to 360° to get back to and coincide with the original polygon.

clearvars,clc
% edges assumed to be unit length
for edges= 3:30

  set={}; deflectionNo={}; deflSet={};
  centAngle=360/edges;
  if mod(edges,2)==1
    deflect0=centAngle/2;
  else
    deflect0=centAngle;
  end
  for deflect=deflect0:centAngle:180-centAngle/10
    iter=(360-deflect)/deflect+1;
    if abs(iter-round(iter))/centAngle<.0000001
      set{end+1}=round(iter);
      whichDeflection=(deflect-deflect0)/centAngle+1;
      deflectionNo{end+1}=whichDeflection;
      deflSet{end+1}=sprintf('%8.7f',deflect);
      deflSet{end}=strip(deflSet{end},'both','0');
    end
  end
  fprintf('%3d ',edges)
  fprintf('{')
  for i=1:length(set)   
    fprintf('%d ',set{i})
  end
  fprintf('} ')
  for i=1:length(deflectionNo)   
    fprintf('%4d ',deflectionNo{i})
  end
  fprintf(' ')
  for i=1:length(deflSet)   
    fprintf('%s  ',deflSet{i})
  end
  fprintf(' ')
end

In the below, here's an example of what the sets mean:

 12
{12 6 4 3 }
   1    2    3    4 
30.  60.  90.  120.  

For a 12-sided figure, a ring of 12 can start by aiming the deflected line toward the first other side of the figure to the right of stright ahead, which is a deflection of 30°.

A ring of 6 can start by aiming the deflected line toward the 2nd other side of the figure to the right of stright ahead, which is a deflection of 60°, and so forth for rings of 4 and 3.


  3
{6 }
   1 
60.  

  4
{4 }
   1 
90.  

  5
{10 }
   1 
36.  

  6
{6 3 }
   1    2 
60.  120.  

  7
{14 }
   1 
25.7142857  

  8
{8 4 }
   1    2 
45.  90.  

  9
{18 6 }
   1    2 
20.  60.  

 10
{10 5 }
   1    2 
36.  72.  

 11
{22 }
   1 
16.3636364  

 12
{12 6 4 3 }
   1    2    3    4 
30.  60.  90.  120.  

 13
{26 }
   1 
13.8461538  

 14
{14 7 }
   1    2 
25.7142857  51.4285714  

 15
{30 10 6 }
   1    2    3 
12.  36.  60.  

 16
{16 8 4 }
   1    2    4 
22.5  45.  90.  

 17
{34 }
   1 
10.5882353  

 18
{18 9 6 3 }
   1    2    3    6 
20.  40.  60.  120.  

 19
{38 }
   1 
9.4736842  

 20
{20 10 5 4 }
   1    2    4    5 
18.  36.  72.  90.  

 21
{42 14 6 }
   1    2    4 
8.5714286  25.7142857  60.  

 22
{22 11 }
   1    2 
16.3636364  32.7272727  

 23
{46 }
   1 
7.826087  

 24
{24 12 8 6 4 3 }
   1    2    3    4    6    8 
15.  30.  45.  60.  90.  120. 
 
 25
{50 10 }
   1    3 
7.2  36.  

 26
{26 13 }
   1    2 
13.8461538  27.6923077  

 27
{54 18 6 }
   1    2    5 
6.6666667  20.  60.  

 28
{28 14 7 4 }
   1    2 4.000000e+00 7.000000e+00      I don't know why scientific notation
12.8571429  25.7142857  51.4285714  90.      was used for 4 and 7. Maybe rounding
                                                  error was sufficiently large to
                                                       make this happen.
 29
{58 }
   1 
6.2068966  

 30
{30 15 10 6 5 3 }
   1    2    3    5    6   10 
12.  24.  36.  60.  72.  120.  


or just the numbers of polygons per ring, as asked for

  3
{6}

  4
{4}

  5
{10}

  6
{6 3}

  7
{14}

  8
{8 4}

  9
{18 6}

 10
{10 5}

 11
{22}

 12
{12 6 4 3}

 13
{26}

 14
{14 7}

 15
{30 10 6}

 16
{16 8 4}

 17
{34}

 18
{18 9 6 3}

 19
{38}

 20
{20 10 5 4}

 21
{42 14 6}

 22
{22 11}

 23
{46}

 24
{24 12 8 6 4 3}

 25
{50 10}

 26
{26 13}

 27
{54 18 6}

 28
{28 14 7 4}

 29
{58}

 30
{30 15 10 6 5 3}
  
I don't know of a formula or closed rule that can predict these numbers without doing this count of deflection angles while testing each for closure. 

Edited on September 22, 2022, 12:13 pm
  Posted by Charlie on 2022-09-22 11:55:17

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 (0)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

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