見出し画像

BurrTools を使ってNaefの絶版パズル「DODEKA」がついに解けた話(3)

DODEKAパズルをBurrToolsで解く。の続きです。
さらに続けて削り出していきます。

長さ半分=体積1/8の削り出し

左の図形の「1/2(長さ半分)」=「体積は1/8」になる「単位胞」を作る試みです。これも当然のように可能でした。
右図に見えている「単位胞」は、パズルゴールである「菱形十二面体」体積の「1/32」にあたります。つまりBurrToolsで、DODEKAパズルピース全11種全てを仮想構築できることが証明されたわけです。
こうして完成した「単位胞」の2つ~3つを互いに立体的に接合&組み合わせて、DODEKAパズルの11個のパズルピースをBurrToolsで仮想構築しました。

DODEKAの11ピース

この直後、私は「解ナシ」の地獄のワナに落ちて約3日間も苦しんだのですが、そのあたりの説明は読者さんには退屈な話だと思いますので、かいつまんで記します。

BurrToolsの仕様の都合なのですが、BurrToolsは全く同じ3D立体形状を「半マス」ずれた位置にも作れてしまうことがあるのです。
この「半マス」っていうのがくせ者なのです。パズルの解を求める解析作業中に、空間的な位置が半分ズレたところにそのパズルピースが配置されてしまうのです。その影響で「絶対に解があるはず!」と自信をもって作ったパズルが、どういうわけかBurrTools的には「解ナシ」になってしまうこともしばしば。と作者自身が語っています。
運悪いことに私はマニュアルのその部分を読み飛ばしていたので、3日間ほど絶望の迷路にハマリ込んでしまいました。

半マスずれた位置に、まったく同じ形状の3D図形が作れてしまう例

BurrToolsは、パズルパーツの回転・移動を「1マス単位」で実行します。
そういう仕様なので、半マスずれた3D図形どうしは「お互いにカチっとかみ合うことは不可能」です。

「もしも解ナシになった時は、すべての図形・部品を2倍に拡大して、もういちど同じことを試してみましょう。そういう仕様です。」とマニュアルに書かれています。
*注意:長さ2倍なので、体積では8倍になります。

「半マス」のズレだから、すべての部品を2倍に拡大すれば、ズレの大きさはぴったり1マスのズレに変換されます。従ってパーツ同士の不自然な3D空間的衝突は解消されます。

ちなみに、私は迷路からどうやって脱出したのか?というと、「どうして出来ないんだ!絶対に解があるはずなのに?」とイライラしながら、各パーツを回転・変形・いろいろいじりまわしたのです。
その途中に「半マスずれた位置にも、全く同じ(合同)3D図形を作ることができる」と気づきました。
*自分では新発見のつもりだったが、既に公式マニュアルに書いてある内容・・・・・

11個のパーツのうち1~5個程度、正解から半マスずれたパーツが混じっているのではないか?と考察し、「パーツの3D空間的位置を半マスずらす」何度目かのトライで正しいパーツの組み合わせを発見したのです。=マニュアルをもういちど読んでいればもっと早く終わっていたと後で気づいてがっくりしました。

とにかく、BurrToolsで解を得ました。全部で12解あるらしいです。1つだけ示しておきます。

ナナメ上から見た図と、それを180°ぐるんと天地をひっくり返し、さっきまでは床に接していて見えなかった面がこんどは上になってる図、とのペアです

以上、DODEKAの解はBurrToolsで得られますというお話でした。

追伸:
立方体(Cube)をガリガリと「45°斜めのひし形に削るx3回」で、「菱形十二面体」を作れます。という部分が一番感動したところです。DODEKAの解を得たことよりも、むしろそっちのほうが心震えました・・・。

追伸2:
「「パーツの3D空間的位置を半マスずらす」何度目かのトライ」って、簡単に言うけど、どこから手をつけたらいいのか途方に暮れません?どうやったの?という疑問。自分でも気になるので備忘録します。

1 DODEKAの単位胞は半ズレが存在するので2種類あります。とりあえずは、どちらか一方だけで解析はできるはず。どっちか好きなほうの「単位胞」をBurrToolsに登録し、下記のように命令を与えます。
2 使用個数は不定。すなわちパズルの解答として使用する個数は0~32個の不定。何個使用してもいいし、逆に使用個数は0個でもいい。
3 この条件はずっと保ちつつ、先ほど作ったパズルピース11種のなかから適当に3種を選び、ココに一緒に混ぜて「パズル解析」を開始。
4 もしもパズルに解答が得られたなら、完成品の画像をしっかり見ます。適当に入れた3種のパズルピースが互いに「ピタリっと接触した状態の解もある」時は、それら3つは「仲間」です。つまりお互いに「半分ズレてない。正解」です。
5 3種のピースどうしが互いにピッタリ接触している解が1つも見つからない時は、そいつらは「仲間じゃない」=どれかが「半ズレ」です。
6 この方法で調べて、どんどんピースの仲間を増やすと、最終的に「半ズレ」は誰なのかを突き止めることが可能です。(ちなみに私の場合は、半ズレのお邪魔野郎は11種のうち1個でした)

ゲームシステムのデザイナーって、何なの?どういう意味? そんな疑問は、私の記事群によってご理解いただけるものと期待してます。 ラジくまるのアタマの中にある知識を活用していただけるお方、サポート通知などお待ちしています。