Counting n-gons

Richard Mathar mathar at strw.leidenuniv.nl
Wed Oct 25 16:17:06 CEST 2006


The lists of triangles and quadrangles etc on the square lattice
(ie, all corners are forced onto the nodes of a square lattice)
with integer edge lengths is a rather rigorously defined
set of polygons. The "rules of construction" are typically
i) all corners are on integer-valued nodes (x,y), x,y=-2,-1,0,1,2,...
   of the square lattice
ii) all sides have integer, strictly positive length. This means that
   the sum of the squared differences of the x- and
   y-coordinates is a nonzero square (Pythagorean constraint).
iii) There are no hidden edges in the sense that
   all internal angles differ from 0 and 180 degrees.
iv) Each corner is shared by exactly two edges. Comparing
   this with a decomposition of the polygon into a 
   walk on the square lattice (that returns to the origin)
   this would be called a "self-avoiding" walk along the
   edges (with the exception of the final step back to the origin).
v) All edges are connected. This means that an isolated triangle
  within an isolated triangle is not considered a 6-gon, for example.
vi) Only one representative of congruent polygons is considered.
  Congruency is defined by the 8 operations of the rectangles
  (identity, rotations by multiples of 90 degrees, mirror flips)
  plus translations/shifts. The test for congruency
  does not include magnification or shrinking.

Note that "bow-tie" type of crossing of edges is still
allowed, which is a matter of definition. [The question whether this area
crossed would have to be subtracted from the other areas is not important as
long as the enumeration is done w.r.t. number of edges, length of the perimeter
or other parameters.
--see also the even-odd rule in the PostScript coloring definitions or
the equivalent problem of defining areas to the left or right of
paths in the complex plane.]

This here is much more a geometrical than a topological
classification.

Examples from a list of non-congruent triangles
and quadrangles would look as follows (the first number is
the edge/side count which equals the corner count, the 2nd number
is the perimeter which equals the sum of the edge lengths
that follows after the plusses. Then there is a list of edges, each
edge [(xstrt,ystrt)(xend,yend)] listed with the starting and ending
coordinate. Finally there are the internal angles in degrees on a
separate line. Sign switches in their sequence indicate more
complex convex-concave behavior.).

For the triangles this paraphrases the Pythagorean triples;


3 12 +5+3+4 [(4,3)(0,0)][(0,0)(0,3)][(0,3)(4,3)]
 -126.87 -90 -143.13

3 24 +10+6+8 [(8,6)(0,0)][(0,0)(0,6)][(0,6)(8,6)]
 -126.87 -90 -143.13

3 30 +13+5+12 [(12,5)(0,0)][(0,0)(0,5)][(0,5)(12,5)]
 -112.62 -90 -157.38

3 32 +15+4+13 [(12,9)(0,0)][(0,0)(0,4)][(0,4)(12,9)]
 -126.87 -67.3801 -165.75

3 36 +13+10+13 [(12,5)(0,0)][(0,0)(0,10)][(0,10)(12,5)]
 -112.62 -112.62 -134.76

3 36 +17+10+9 [(15,8)(0,0)][(0,0)(6,8)][(6,8)(15,8)]
 -154.942 -53.1301 -151.928

3 36 +15+9+12 [(12,9)(0,0)][(0,0)(0,9)][(0,9)(12,9)]
 -126.87 -90 -143.13

3 40 +17+8+15 [(15,8)(0,0)][(0,0)(0,8)][(0,8)(15,8)]
 -118.072 -90 -151.928

3 42 +14+13+15 [(14,12)(0,12)][(0,12)(5,0)][(5,0)(14,12)]
 112.62 120.51 126.87

4 46 +18+5+18+5 [(22,3)(4,3)][(4,3)(0,0)][(0,0)(18,0)][(18,0)(22,3)]
 36.8699 143.13 36.8699 143.13

4 46 +18+5+18+5 [(21,4)(3,4)][(3,4)(0,0)][(0,0)(18,0)][(18,0)(21,4)]
 53.1301 126.87 53.1301 126.87

4 52 +18+12+5+17 [(18,12)(0,12)][(0,12)(0,0)][(0,0)(3,4)][(3,4)(18,12)]
 90 143.13 -25.0576 151.928

4 54 +18+10+9+17 [(24,8)(6,8)][(6,8)(0,0)][(0,0)(9,0)][(9,0)(24,8)]
 53.1301 126.87 28.0725 151.928

4 54 +18+13+10+13 [(18,13)(0,13)][(0,13)(0,0)][(0,0)(6,8)][(6,8)(18,13)]
 90 143.13 -30.5102 157.38

4 54 +18+13+13+10 [(18,13)(0,13)][(0,13)(0,0)][(0,0)(12,5)][(12,5)(18,13)]
 90 112.62 30.5102 126.87

4 56 +18+10+18+10 [(26,6)(8,6)][(8,6)(0,0)][(0,0)(18,0)][(18,0)(26,6)]
 36.8699 143.13 36.8699 143.13

4 56 +18+10+18+10 [(24,8)(6,8)][(6,8)(0,0)][(0,0)(18,0)][(18,0)(24,8)]
 53.1301 126.87 53.1301 126.87

4 60 +18+13+14+15 [(23,12)(5,12)][(5,12)(0,0)][(0,0)(14,0)][(14,0)(23,12)]
 67.3801 112.62 53.1301 126.87

4 60 +18+17+10+15 [(18,17)(0,17)][(0,17)(0,0)][(0,0)(6,8)][(6,8)(18,17)]
 90 143.13 -16.2602 143.13

4 60 +18+17+15+10 [(18,17)(0,17)][(0,17)(0,0)][(0,0)(12,9)][(12,9)(18,17)]
 90 126.87 16.2602 126.87

4 60 +18+15+10+17 [(18,15)(0,15)][(0,15)(0,0)][(0,0)(10,0)][(10,0)(18,15)]
 90 90 61.9275 118.072

4 62 +18+13+18+13 [(30,5)(12,5)][(12,5)(0,0)][(0,0)(18,0)][(18,0)(30,5)]
 22.6199 157.38 22.6199 157.38

4 62 +18+13+18+13 [(23,12)(5,12)][(5,12)(0,0)][(0,0)(18,0)][(18,0)(23,12)]
 67.3801 112.62 67.3801 112.62

4 62 +18+13+18+13 [(18,13)(0,13)][(0,13)(0,0)][(0,0)(18,0)][(18,0)(18,13)]
 90 90 90 90

4 64 +18+14+18+14 [(18,14)(0,14)][(0,14)(0,0)][(0,0)(18,0)][(18,0)(18,14)]
 90 90 90 90

4 66 +18+15+18+15 [(30,9)(12,9)][(12,9)(0,0)][(0,0)(18,0)][(18,0)(30,9)]
 36.8699 143.13 36.8699 143.13

4 66 +18+15+18+15 [(27,12)(9,12)][(9,12)(0,0)][(0,0)(18,0)][(18,0)(27,12)]
 53.1301 126.87 53.1301 126.87

4 66 +18+15+18+15 [(18,15)(0,15)][(0,15)(0,0)][(0,0)(18,0)][(18,0)(18,15)]
 90 90 90 90

4 68 +18+16+18+16 [(18,16)(0,16)][(0,16)(0,0)][(0,0)(18,0)][(18,0)(18,16)]
 90 90 90 90

4 70 +18+17+18+17 [(33,8)(15,8)][(15,8)(0,0)][(0,0)(18,0)][(18,0)(33,8)]
 28.0725 151.928 28.0725 151.928

4 70 +18+17+18+17 [(26,15)(8,15)][(8,15)(0,0)][(0,0)(18,0)][(18,0)(26,15)]
 61.9275 118.072 61.9275 118.072

4 70 +18+17+18+17 [(18,17)(0,17)][(0,17)(0,0)][(0,0)(18,0)][(18,0)(18,17)]
 90 90 90 90

4 72 +18+18+18+18 [(18,18)(0,18)][(0,18)(0,0)][(0,0)(18,0)][(18,0)(18,18)]
 90 90 90 90

This list is not complete w.r.t some upper limit of perimeter length,
area or s.th. equivalent.... the [(0,0)(0,1)][(0,1)(1,1)][(1,1)(0,1)][[0,1)(0,0)]
unit square is for example not yet listed.

--Richard






More information about the SeqFan mailing list