跳转到内容

几何/多米诺骨牌

来自维基教科书,开放书籍,开放世界

多米诺骨牌 是由一个或多个相等的 正方形 边到边地连接而成的平面几何图形。

多米诺骨牌

[编辑 | 编辑源代码]
多米诺骨牌

多米诺骨牌是由连接在一起的单位正方形形成的形状,它们共享一条完整的边。多米诺骨牌这个词是根据多米诺骨牌这个词而来的。只有一种可能的多米诺骨牌。

三米诺骨牌

[编辑 | 编辑源代码]

由三个正方形组成的多米诺骨牌称为三米诺骨牌。只有两种可能的三米诺骨牌。

四米诺骨牌

[编辑 | 编辑源代码]

由四个正方形组成的多米诺骨牌称为四米诺骨牌。有五种可能的组合和两种反射。

五米诺骨牌

[编辑 | 编辑源代码]

由五个正方形组成的多米诺骨牌称为五米诺骨牌。不包括镜像和旋转,有十二种可能的五米诺骨牌。

进一步分类

[编辑 | 编辑源代码]

多米诺骨牌也可以通过将一条线分成 2 个部分来进行分类,这些线经过多米诺骨牌的质心,并评估穿过该质心的该线的正交线与也穿过该质心并穿过该部分质心的线的夹角。任何点集都可以通过这种半质心偏差角 HCDA 进行分类,例如,圆形始终以 HCDA = 0° 为特征。

这就是非线性(即非线形)三米诺骨牌的三个正方形的质心 S1、S2 和 S3 以及其整体多米诺骨牌质心 C 的排列方式。

S1     S2
   C 

S3

如果我们想对整个多米诺骨牌进行分类,所有出现的 HCDA 都应该被考虑在内。从(穿过 C 且)首先也穿过 S1 的分割线 DL 开始,然后顺时针转动,出现一个只有 S2 组成的半质心 HC。这个阶段从 HCDA = arctan ½ – arctan 1 = – arctan ⅓ 开始,到 HCDA = 2 arctan ½ = arctan (4/3) 结束,此时 DL 与 S3 相交。符号取决于正交线相对于 HC 的放置位置。在下一阶段,HC 由 S2 和 S3 形成... 因此,多米诺骨牌的所有“Σ tan HCDA”(所有“tan(结束 HCDA)– tan(开始 HCDA)”的总和)从 0 到 2 pi(从 0° 到 360°) 是一个关于偏离圆形程度的有理数。在这个三米诺骨牌中,有 6 个阶段。

  1. (DL 穿过)S1 → S3,HC: S2,部分 Σ tan HCDA = 4/3 + 1/3 = 5/3
  2. S3 → S2,HC 来自 S2 和 S3,部分 Σ tan HCDA = 2/3
  3. S2 → S1,HC: S3,部分 Σ tan HCDA = 5/3
  4. S1 → S3,HC 来自 S1 和 S3,部分 Σ tan HCDA = 4/3 + 1/3 = 5/3
  5. S3 → S2,HC: S1,部分 Σ tan HCDA = 2/3
  6. S2 → S1,HC 来自 S1 和 S2,部分 Σ tan HCDA = 5/3

所有这些部分 Σ tan HCDA 的总和为 8。在以下非线性多米诺骨牌的值表中(在线性多米诺骨牌中,tan 90° = ∞ 在正交线和 HC 之间达到),多米诺骨牌以线性形式描述,该形式假设前两个正方形并通过“1”线性地指定进一步的正方形,如果这个位置以前没有被“o”以螺旋形式(与 Ulam 螺旋类似)更改到另一个可能的位置,则该位置位于旁边已经放置的正方形,并且没有被之前的“o”排除。

  • 对角线对称:\, /
  • 到规范线水平对称:—, 垂直:|, 水平和垂直:+
  • 旋转对称:•,如果旋转也通过 90° 会产生相同的:••

在接下来的几列中,给出了 Σ tan HCDA 和 tan(最大绝对偏差角)的连分数展开式,连分数项没有用逗号分隔,而是由小数位数 – 1个撇号前缀到项前。

1 个非线性三米诺骨牌

o1 \ 8 13

4 个非线性四米诺骨牌

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

11 个非线性五米诺骨牌

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
这种(不太容易理解的)以行对行的阅读方向对 35 个自由六米诺骨牌进行排序的方式,会产生一个编号,这个编号也出现在表格的 *-列中。

34 个非线性六米诺骨牌

线性化形式 Σ tan HCDA tan(最大偏差 ∢) *
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

七米诺骨牌(有 107 个不同的非线性自由骨牌)

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

...

八米诺骨牌(有 52 个不同的非线性对称自由骨牌)

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

...

九米诺骨牌

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

...

十米诺骨牌

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

...

十一米诺骨牌

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

...

十二米诺骨牌

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

...

因此,以这种方式首先按正方形的数量,然后按它们的 Σ tan HCDA 排序的非线性多米诺骨牌的 Σ tan HCDA 的连分数项数的序列以 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,... 开头。此序列中的每个 1 都表示某个多米诺骨牌的 Σ tan HCDA 是一个自然数,这似乎也需要一些对称性标准,或者至少是类似的和谐。这些自然数的序列为 8、8、10、12、8、12、8、10、13、17,... 在线整数序列百科全书目前还没有这两个序列,只有所有可能的带有 n 个单元格的多米诺骨牌的计数,例如 所有自由骨牌的计数,以及所有带有或不带有孔或特定对称性的骨牌的计数可以在那里找到。因此,目前似乎仍然没有解决有多少多米诺骨牌具有自然 Σ tan HCDA 以及哪些自然数可以作为多米诺骨牌的 Σ tan HCDA。欢迎在这里进行进一步的编辑以进行进一步的澄清。

以下是使用 Maxima 从给定的线性化多米诺骨牌规范计算多米诺骨牌正方形位置列表、Σ tan HCDA 以及 tan(最大偏差角)绝对值。

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)

对于非线性三米诺骨牌“o1”,此程序获得其 3 个点,质心位于 (0; 0)

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

然后将这 6 个差值相加

  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
华夏公益教科书