EXCELを使ってルービックキューブをしてみます。
九升六面を展開した図をかんがえます。
上の図で、(AB1,AD3)の範囲に上面の九升、(Y4,AJ6)の範囲に四つの側面、(AB7,AD9)の範囲に下面の九升を表します。
ここで、六面の色を1~6の数値で表す事にします。
更に、便宜上1は白、2は黄色、3は赤、4は緑、5は紫、6は水色に設定しています。もちろん他の色に設定しても構いません。
それぞれのセルには、「条件付き書式」を設定し、セルに数値を入力するとその数値に応じて色が変わるようになっています。
仮に、”AB1” セルの値を”2”にすれば黄色に、”3”にすれば赤色に自動的に変わります。
視覚的、感覚的に判りやすい様に、
左の図は拡大し、前面を中心に、上下面、左右、面更に接続する背面を表している。
背面は別に右下の図として表示し周囲の接続面も表示する様にしている。
これらは、「条件付き書式」で先の数字を入れたセルを参照し、同じ色となる様にしている。
ここで前面(赤面)を右に90°回転する場合を考えます。
循環して入れ替える事になるので、一端 AB3、AC3,AD3 の値をメモリーに保存し、
AD3←AA4、AC3←AA5、AB3←AA6、AA4←AB7、AA5←AC7、AA6←AD7、
AB7←AE6、AC7←AE5、AD7←AE4、AE6←AD3の値、AE5←AC3の値、AE4←AB3の値
同じく、一端 AD4、AC4 の値をメモリーに保存し、
AD4←AB4、AC4←AB5、AB4←AB6、AB5←AC6、AB6←AD6、AC6←AD5、AD6←AD4の値、AD5←AC4の値
と順次数値を入れ替える事になる。
逆回転や他の面も同じように入れ替えれば良いことになります。
これらの一連の入れ替えをマクロにして、
先の左の図に、「図の挿入」で「矢印」に「マクロの登録」をします。
これで、これらの矢印をクリックすれば、それぞれ登録したマクロによって、面の回転が行われます。
ここまでで、ルービックキューブを自由に動かせる事になりました。
更に、これらのステップを記録しておけば、逆の手順を辿れば、そっくり元に戻すことができます。
具体的には、前面を右回転させると”X1R”、続いて右側面を左回転するならば、”Y1L”と記録します。
戻すときには、記録を逆にたどり、”Y1L”なので”Y1R”を行い、”X1R”なので”X1L”を実行すれば、初期状態に戻すことができます。
知られている解法に従って、マクロを作り自動で全面合せを行うこともできます。
(プログラミング仕方で等で変わりますが、およそ1000ステップ)
現物を解法に従って行っていると時々間違って操作して揃わないことが有りますが、これでは戻してやり直しすることができます。