第8講 4次魔方陣と6次魔方陣の作成
第6話 移動対象の確定
0 | 1 | 2 | 3 | 4 | 5 | |
0 | 1 | 2 | 3 | 4 | 5 | 6 |
1 | 7 | 8 | 9 | 10 | 11 | 12 |
2 | 13 | 14 | 15 | 16 | 17 | 18 |
3 | 19 | 20 | 21 | 22 | 23 | 24 |
4 | 25 | 26 | 27 | 28 | 29 | 30 |
5 | 31 | 32 | 33 | 34 | 35 | 36 |
解説していきます。この表が何度も登場しますが、
0 |
1 |
2 |
3 |
4 |
5 |
は
For i = 0 To n - 1
For j = 0 To n - 1
a(i, j) = n * i + j + 1
Next
Next
のiに対応し、
0 | 1 | 2 | 3 | 4 | 5 |
のjに対応しているということをしっかり念頭においてください。
ポイントは、移動させる場所は
1 | 2 | 3 |
7 | 8 | 9 |
13 | 14 | 15 |
の部分の色
1 | 2 | 3 |
7 | 8 | 9 |
13 | 14 | 15 |
が確定すれば、すべて確定します。なぜなら、
の線の位置に鏡を置けば
1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
となります。ただし、薄緑は上下対称移動なので、右側は色を抜いて、
1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
と対称移動する場所が確定します。
ただし、ピンクは中央の点に対する点対称移動で、紺は中央の線に対する左右点対称移動です。
つまり、紺の方は、移動する主体とその相手の組が確定していますが、
ピンクの方は、移動する主体だけが確定しただけで、まだ相手が確定していません。
同じく、薄緑もまだ相手が確定していません。
次に、
の直線の位置に鏡を置くと、
1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 |
ただし、紺は左右対称移動ですでに組が確定していますので、
下半分から色を抜きます。
1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 |
このようにして、対称移動する主体とその相手の組がすべて確定します。
iとjを加えた表にしておくと
0 | 1 | 2 | 3 | 4 | 5 | |
0 | 1 | 2 | 3 | 4 | 5 | 6 |
1 | 7 | 8 | 9 | 10 | 11 | 12 |
2 | 13 | 14 | 15 | 16 | 17 | 18 |
3 | 19 | 20 | 21 | 22 | 23 | 24 |
4 | 25 | 26 | 27 | 28 | 29 | 30 |
5 | 31 | 32 | 33 | 34 | 35 | 36 |
というわけで
0 | 1 | 2 | |
0 | 1 | 2 | 3 |
1 | 7 | 8 | 9 |
2 | 13 | 14 | 15 |
の部分から、相手を確定できることがお分かりでしょうか。
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る