Jump to content

Geometry/Polyominoes

From Wikibooks, open books for an open world

polyomino is a plane geometric figure formed by joining one or more equal squares edge to edge.

Domino

[edit | edit source]
A Domino

A domino is the shape made from attaching unit squares so that they share one full edge. The term polyomino is based on the word domino. There is only one possible domino.

Tromino

[edit | edit source]

A polymino made from three squares is called a tromino. There are only two possible trominoes.

Tetromino

[edit | edit source]

A polymino made from four squares is called a tetromino. There are five possible combinations and two reflections:

Pentominoes

[edit | edit source]

A polymino made from five squares is called a pentomino. There are twelve possible pentominoes, excluding mirror images and rotations.

Further Classification

[edit | edit source]

Polyominoes can also be classified by dividing one into 2 parts by lines that go through the centroid of the polyomino and evaluating the angle between the orthogonal of such a line that goes through that centroid and a line also going through it and going through the centroid of such a part. Any set of points can be classified by such Half Centroid Deviation Angles HCDA, e.g. a circle is characterized by always having HCDA = 0°.

This is how the centroids S1, S2 and S3 of each of the 3 squares of a non-linear (i.e. a not line-shaped) tromino and its whole-polyomino centroid C are arranged:

S1     S2
   C 

S3

If we want to classify the whole polyomino all HCDA that appear here should be factored in. Starting with the Dividing Line DL that (goes through C and) firstly also goes through S1 and turning clockwise then a phase with a Half Centroid HC only consisting of S2 appears. This phase starts with HCDA = arctan ½ – arctan 1 = – arctan ⅓ and ends with HCDA = 2 arctan ½ = arctan (4/3) when the DL meets S3. Signs depend on where the orthogonal is placed relative to the HC. In the next phase the HC is formed by S2 and S3 ... So the "Σ tan HCDA", the sum of all "tan (end HCDA) – tan (start HCDA)" of all such phases from 0 till 2 pi (0° till 360°) of a polyomino is a rational number about the degree of deviation from a circular shape. In case of this tromino there are 6 phases:

  1. (DL goes through) S1 → S3, HC: S2, partial Σ tan HCDA = 4/3 + 1/3 = 5/3
  2. S3 → S2, HC from S2 and S3, part. Σ tan HCDA = 2/3
  3. S2 → S1, HC: S3, part. Σ tan HCDA = 5/3
  4. S1 → S3, HC from S1 and S3, part. Σ tan HCDA = 4/3 + 1/3 = 5/3
  5. S3 → S2, HC: S1, part. Σ tan HCDA = 2/3
  6. S2 → S1, HC from S1 and S2, part. Σ tan HCDA = 5/3

The sum of all these partial Σ tan HCDA = 8. In the following table of those values of non-linear polyominoes (in a straight line polyomino tan 90° = ∞ is reached between orthogonal and HC), a polyomino is described in a linearized form which assumes the first 2 squares and specifies linearly further squares by "1" each if this place is not previously changed by "o" in a spiral course (comparable with that of Ulam spiral) to another possible place next to an already placed square not already excluded by a previous "o".

  • Diagonal symmetry: \, /
  • to specification line horizontal symmetry: —, vertical: |, horizontal and vertical: +
  • rotational symmertry: •, if rotation also by 90° yields the same: ••

In the next columns the continued fraction expansions of Σ tan HCDA and of tan (greatest absolute deviation angle) are given, with continued fraction terms not separated by commas but by number of decimal digits – 1 apostrophes prepended to the terms:

1 non-linear tromino:

o1 \ 8 13

4 non-linear tetrominoes:

1oo1 | 712 (= 7 ⅔) 16 (= 7/6)
o1oo1 + 8 1
1o1 '10 2
o11 • '12 3

11 non-linear pentominoes:

1o1oo1 727 1
1oo11 | 7141112 15
1oo1oooo1 + 8 1
1o1ooo1 | 861132 121'11
o11oo1 84212 1112
1o1o1 \ 8114 1117
o11o1 \ 91'11 2 1117
11oo1 '10 12 2
o1o11 • '12 3
1o11 '12 2'12 214
11o1 '13 '15 233
This (less comprehensible) ordering of the 35 free hexominoes in reading direction line by line yields a numbering also found in the table's *-column.

34 non-linear hexominoes:

Linearized form Σ tan HCDA tan (greatest deviation ∢) *
o11oo1o1 — 61221122 0111112 30
1o1oo11 6132118 012112 24
11oo11 6171'13 18 0121132 11
o11oo1oo1 / 61'21 152 012 33
1o1o1oo1 7418211122 015212 28
1oo111 72174122 1'15 29
o111oooo1 7113121153'56 142 23
1o1oo1o1 + 712 16 22
11oo1o1 | 715 01'23 09
1o1o1ooo1 \ 8 13 32
o11o1oo1 83'16 6 1224 34
1o11oo1 81111174 112 18
o111oo1 99122614 111'19 25
11o1o1 954 112 10
o111ooo1 92214 1242 19
11o1ooo1 924 2 07
11o1oo1 91134 113 06
11oo1ooooo1 — 9192 2 17
1o11ooo1 • '10 2 21
1o1o11 '10 52321114 26 26
o1o1o1oo1 — '10 3126 11226 08
11oo1oooo1 • '10 2 22 16
o11oo11 '10 1152 22 13
1oo11o1 | '10 12 2 12
1o11o1 '11 4111'24 23 22113 27
o1o11oo1 '11 111112 3 14
o111o1 '12 1152312 26 31
o11o11 • '13 215 35
111ooooo1 | '14 24 21'11 04
o1o1o11 • '14 2 32 15
11o11 '14 1332 39 05
111oo1 '15 326 2162 03
1o111 • '17 42 20
111o1 '17 141112 3313 02

Heptominoes (There are 107 distinct non-linear free ones):

1o1oo11oo1 | 61118'12 0113
1o11ooooo11 — 615221'18 2 0122
1oo111ooo1 + 73 1
111ooooo11 72514 01'20
11o1oo1ooooo1 71251'10 512112 154
o11o1oo1oo1 + 8 1
11o1o1o1 \ 851'28 111142 16'15
111oo11 831534 1'11 12
111oo1o1 9181'13 14 1113
111oo1oo1 | '10 211613 111115
1o1o111 • '12 3
o11o11o1 \ '13 '35 245
o1o1o1o1oo1 '13 '33 13 21133113
1oo11oooooo1o1 + '13 3 3
111oo1oooo1 '13 183 3113
111oo1ooooo1 '14 73122 37
111oo1ooo1 • '14 12 4
o111o11 • '16 3
o1o1o1o11 • '18 12 5
1111ooooo1 '19 151132 44212
1111oo1 '20 1''104 4352
1111o1 '23 3111113 432

...

Octominoes (There are 52 distinct non-linear symmetric free ones):

1o1o1oo1o1oo1 + 612 02
1o11ooo11oooooo1 •• 7 013
o11oo1o1oo11 + 73 1
1o1o11ooo1ooo1 • 7144 132
1o11oo1oo1ooo1 / 7151132 132
11o1oo1o1o1 + 812 13
1oo11o11ooo1 + 95 2
11o11ooo1o1 • '10 3 2
o1o1oo1111 • '11 '28 1113 29
1o11o111 • '15 1121123 3122
o11o11o11 • '15 12 3
o1111o11 • '18 312
11o1111 • '23 12 63

...

Nonominoes:

11oo1111ooooo1 • 712 13
1o11o11ooo1oo1 • '10 113
11o1o1111 • '14 3 312
1o111o111 • '20 42
o11111o11 • '21 42

...

10-ominoes:

11oo111ooo1o1ooo1 + 612112 02
11o1o1oo1o1o1oo1 + 61311154 0111212
11o1oo11oo11oooo1 • 61'19 1112 013
1oo11o1o1o11ooo1 + '15 92 22
1o11o11o111 • '18 ''126 417
11o11o1111 • '18 1392 41118
o111o111o11 • '21 1'59 44
1o1111o111 • '23 8113 4242
o111111o11 • '23 1'10 54
111o11111 • '30 162 84

...

11-ominoes:

111ooooo1111oooo1o1 • 61'20 0122
111o1o11111 • '17 2113112 42
11o111o1111 • '23 16 5122
1o11111o111 • '26 12 5
o1111111o11 • '27 23 62

...

12-ominoes:

o11o1oo11o1oo11o11 + 62'10 03
11o1o1o1oo1o1o1oo1oo1 + 62'10 03
11oo11o1ooo11o1ooo1oo1 •• 612 02
1o11oo1o11oo1o1o1ooo1 + 614 0112
11o1o1oo1o1o1oo111 + 6 1'11 0125
o111oo111oooo111ooooo1 •• 61'12 42 0122
1o111o111o111 • '25 4 41'15
11o1111o1111 • '27 1'11 68

...

So the sequence of the number of continued fraction terms of Σ tan HCDA of the non-linear polyominoes sorted that way firstly by the number of their squares and then by their Σ tan HCDA starts with 1, 3,1,1,1, 3,7,1,6,5,4,4,3,1,3,2, 8,7,7,6,10,8,11,3,3,1,4,8,8,3,5,3,5,4,1,9,5,2,5,3,8,7,8,1,3,2,5,4,1,7, ... Every 1 in this sequence means Σ tan HCDA of the certain polyomino is a natural number, which seems to require also some criteria of symmetry or at least similar harmony. The sequence of those naturals is 8, 8,10,12, 8,12, 8,10,13,17, ... The Online Encyclopedia of Integer Sequence currently does not have these 2 sequences, only countings of all possible polyominoes with n cells like that of all free ones, and of all with or without holes or certain symmetries can be found there. So it seems to remain unsolved for now how many polyominoes have natural Σ tan HCDA and which natural numbers can be a polyomino's Σ tan HCDA. Additional editing here for further clarification is welcome.

Here the calculation of a list of the polyomino's square's positions in a complex plane, Σ tan HCDA and absolute value of tan (greatest deviation angle) from a given linearized polyomino specification by using Maxima:

t:"(a:[0,1],e:[],b:1/2,c:2,d:1,f:0,g:0,v:0,
for n:1 thru slength(s)do(h:a[c]+d,
if charat(s,n)=ascii(49)then
  (a:endcons(h,a),c:c+1,b:b+(a[c]-b)/c,d:1,f:0,g:0,h:a[c]+d)
  else e:endcons(h,e),
if(charat(s,n)#ascii(49))or member(h,a)or member(h,e)then do
  (if f=bit_rsh(g,1)then(f:0,g:g+1)else f:f+1,
   d:d+%i^g,h:a[c]+d,
   if(member(h+1,a)or member(h-1,a)or member(h+%i,a)or member(h-%i,a))
    and not member(h,a)and not member(h,e)then return(0))),
print(a),e:[],
for n:1 thru c do(a[n]:a[n]-b,e:endcons(carg(a[n]),e)),d:0,f:e[1],
do(b:0,g:0,h:%pi*2,
for n:1 thru c do(if
  ((e[n]>f)and(e[n]<=(f+%pi)))or
  (((e[n]+%pi*2)>f)and((e[n]+%pi)<=f))or
  (((e[n]-%pi*2)>f)and((e[n]-%pi*3)<=f))then
   (g:g+1,b:b+(a[n]-b)/g,p:e[n]-f,
    if p<0 then p:p+%pi*2,
    if p>%pi*2 then p:p-%pi*2,
    if(p>0)and(p<h)then(h:p,k:n,q:1))else
   (p:e[n]-f-%pi,
    if p<0 then p:p+%pi*2,
    if p>%pi*2 then p:p-%pi*2,
    if(p>0)and(p<h)then(h:p,k:n,q:-1))), b:carg(b),
w:cot(f-b), d:d+w, w:abs(w), if v<w then v:w,
w:cot(e[k]-b), d:d-w, w:abs(w), if v<w then v:w,
if q=1 then f:e[k]else(if e[k]>0 then f:e[k]-%pi else f:e[k]+%pi),
if f=e[1] then return(0)),
d:bfloat(d),v:bfloat(v),[d,cf(d),v,cf(v)])"$s:"o11oo1"$eval_string(t)

In case of the non-linear tromino "o1" this program obtains its 3 points with centroid at (0; 0):

  • a[1] = –2/3 – /3
  • a[2] = 1/3 – /3
  • a[3] = 1/3 + 2 /3

Then adds these 6 differences together:

  1. cot (arg a[1] + pi/4) – cot (arg a[3] + pi/4) = 1/3 + 1/3
  2. cot (arg a[3] – arctan ½) – cot (arg a[2] – arctan ½) = 4/3 + 1/3
  3. cot (arg a[2] – arctan 2) – cot (arg a[1] – arctan 2) = 1/3 + 4/3
  4. cot (arg a[1] – 3 pi/4) – cot (arg a[3] – 3 pi/4) = 1/3 + 1/3
  5. cot (arg a[3] – arctan ½) – cot (arg a[2] – arctan ½) = 4/3 + 1/3
  6. cot (arg a[2] – arctan 2) – cot (arg a[1] – arctan 2) = 1/3 + 4/3