今回から数回にわたり、私がルービックキューブを模したおもちゃを3DPで自作した際の工程を紹介します。ハンガリーの建築学者ルービック氏によって1974年に発明され、1980年代に大人気となったキューブ
このキューブパズルは立方体の各面が9分割された形になっていて、それぞれ別の色がついています。各ピースはXYZの軸にそって回転し、色のついたピースの位置を変えられます。各ピースの位置を変えて色をバラバラにした後、再び各面の色を揃えるのが目的のパズルです。
そんな長く親しまれているルービックキューブですが、私も子供のころ遊びましたし、大人になってからも2020年からのパンデミックで外出自粛中に購入して改めて各面の揃え方を勉強したりしていました。そして3Dプリンタをやりはじめてからしばらくしたころ

キューブパズルの構造
さて、そもそもルービックキューブのようなキューブパズルとはどういう構造になっているのでしょうか。もし皆さんも同様のキューブパズルを持っていたら、手に取って動きを観察してみてください。
キューブパズルは基本的に1面ずつ9個のピースを回転させてピースを移動させていきます。この際、ひとつの面を回転させたあとに、その面と垂直関係にある他の面をまた回転させられるのがミソとなっています。一見不可能に見えるこの動きですが、よくよく観察するとその動きの法則性が見えてきます。
まず最初は面単位で考えてみましょう。キューブパズルは1辺56〜57mm、つまり回転する1ピースは辺18〜19mmくらいの立方体
下の図は57x57x19mmの直方体の下に、すこし隙間をあけて57x57x9.

この上側の直方体を回転させつつ下の直方体から外れないようにするには、回転する軸に対して円台
以下の図は上部の直方体に円台をつけ、その部分をくりぬいた形にしたあとの断面図、そして上部直方体を下から見たときの形です。このように、ふたつの物体を回転させたい場合は回転方向に対して円になる円柱を作ればよいですし、それが外れないようにするには、円台のような形にして外れないようにすればいいわけです。


これを実際にプリントしたものが以下の図です。オーバーハングがきついのでちょっと形がゆがんでいますが、一発プリントで作成できました。問題なく上面が回転する様子がわかると思います。


ですが、キューブパズルのミソは、この回転を3軸すべてに対して行えることです。円台だと、回転方向が1軸だけに固定されてしまいますので、この部分を工夫する必要があります。前述のように任意の軸にたいして回転させたい場合は円を描く形を作ればいいわけですが、それを3軸それぞれに対して行うために円台のような形を使うのではなく、すべての軸に対して円がつくれる
以下の図は最初の図を調整して、円台部分を球の一部とした場合の図です。もちろんこのままでは下の部品が動きませんので、以前の通り1方向にしか回転しませんが、一旦さきほどから注目している上面に集中して考えていきます。


では次に実際のキューブパズルのように、1面に9個のピースができるようにしてみましょう。まずは単純に上のパーツを上から見たときに9個の正方形になるようにカットします。これだけでもちょっとキューブパズルっぽさがでますね。

中がどうなっているのか見るためにいくつかのピースをはずした図が以下です。小さいピースについた部分が球型の穴部分をなぞるように動けるのがわかるかと思います。


しかしこの形だと、上部9個のピースを一度にすべて1方向に回転させることについては問題はありませんが、他の部分でいくつかの問題があります。
まずひとつは中心ピースです。このピースだけ表示すると以下のようになります。見てわかるとおり、このピースはただの直方体であり、支えているものがなにもありませんし、他のどのピースを支えているわけでもありません。

また、このモデルでは下の部品が動かない前提なので上部の9ピースがはずれないようにガイドする役割を担えています。ですが、実際には下の部品にあたるこの部分も分割されていますし回転もするので、本来ならそれぞれピースが外れないようにお互いを支えてくれる形になっていなければいけません。ですが、現在の形だと、下部品を上部のように分割したら、下部品がはずれないように止めるガイドがないので、そのまま分解してしまうでしょう。
つまりキューブパズルの形を保ったまま回転運動を可能にするためには、回転を可能にする球状のガイドが存在するだけでなく、各ピースがお互いを支えあう形にしないといけません。
中心ピースの役目
お互いが支えあう形が必要、と説明しましたが、このような部品をまとめるためにはどこかに基礎となるような、他の部品がそこを中心に支えてもらえるピースが必要となります。
ここで改めて、キューブパズルの動きを観察してみましょう。皆さんの手元にキューブパズルがある場合、今回は位置が変わるピースではなく、位置が変わらないピースがないか観察してみてください。

以下ではキューブの向きを変えずに1面だけ回転させています。青色の面を回転させているのですが、この際青色の面でひとつだけ位置が変わっていないピースがあるのがわかるでしょうか。


そうです、位置が変わっていないのは青い面の中心ピースです。どの面においてもこの中心ピースは回転しますが、位置が変わることはありません。

次に任意の中心ピースとその裏がわを押えつづけて自分に対しての向きを変えないように色々キューブを動かしてみてください。その際、すべての中心ピースの位置を確認しながら動かし続けてみてください。
動かし続けるとわかるはずですが、すべての中心ピースの相対位置は常に一定です。白面が上部にあるときに青と緑の中心ピースを抑え、それらの位置が変わらないようにした場合、中心ピースだけに限って言えば上は白、下は黄色、手前は青と赤、裏側は緑とオレンジ色という配置に必ずなっているはずです。
これらの情報からわかることは、これらの中心にあるピースの動きには特別な法則があることです。中心ピースは回転すれど、お互いの相対的な位置は変わらないのです。つまり、このピースこそが他のピースを支えるための基礎となります。
他のピースの支え方
ここまでわかれば、あとは実装に落とし込んでいくだけです。なお、以下では実際のキューブパズルで使える実際の寸法や形状ではなく、あくまで今回の解説用モデルのための寸法となっていますので、もし実際に作る場合はこれと少しバランスが変わってきますので注意してください。
まず中心ピースは一旦以下のような形にしてしまいます。中心ピースが固定され回転する仕組みは次回以降に考えますが、中心ピースの位置は固定され、回転以外の動きはしないので他のピースを支えつつ、その動きの方向のガイドとしての役目だけ果たしてもらいます。他のピースは最終的には球にそる動きをしますので、回転のための軸以外は、中心ピースは立方体から球をくりぬいた形になります。

つぎにエッジ

エッジピースは、中心ピースの横を滑るように回転しますので、中心ピースの内部の形にそって回転するようにガイドを作る必要があります。中心ピースの内側にそうようにガイドを実装すると以下のようになります。ガイドは球の一部から切り出したような型のような形になります。

それ以外に大事なポイントとしては、このエッジピースは中心ピースにそって動いたあと、次に接触するのが同じエッジピースとなります。つまり、同じエッジピースの内部にそって動き続ける必要があります。つまりエッジピース内部に作るガイドは横幅を少し短くして、自身と垂直方向に向いているエッジピースが通るスペースを作る必要があるのです。以下の図でエッジピースがお互い干渉しないようになっているのがわかるかと思います。また次に作るコーナーピースもこの幅を利用します。

最後にコーナーのピースです。コーナーのピースは隣接するすべてのピースにガイドをあげる形になります。コーナーピースが隣接するのはエッジピースがふたつと、中心ピースがひとつですね。それを踏まえてコーナーピースのガイドを作ると以下のようになります。

実際のピースのかみ合わせ
実はキューブパズルに使う
今回解説したピースをちゃんと寸法をはかったりしたうえで組み合わせた、実際に私の作ったキューブパズルの内部イメージは以下の図のようになります。まだ中心部分に中心ピースを回転させる仕組みが必要ですが、ピースがどのようにお互いを支え合うのかわかるかと思います。


このようにキューブパズルの内部はその構造さえ理解してしまえばきわめてシンプルなものとなっています。これなら3Dプリントできそうな気がしてきますよね。
今回はほぼキューブパズルの構造の解説だけで終わってしまいましたが、次回は実際に3Dプリントする部分を解説します。