Message #288
From: David Vanderschel <DvdS@Austin.RR.com>
Subject: MC3D: Yet Another Rubik’s Cube Simulator
Date: Mon, 26 Jun 2006 04:38:29 -0500
I have created a new simulator for the 3D puzzle which
should be of interest to subscribers to this list.
You can find it here:
http://david-v.home.texas.net/MC3D
There is a considerable amount of documentation for
it, both on the Web site and in the program’s help.
Aspects of the program which make it of special
interest to the 4D_Cubing folk include the following:
In many ways, the implementation technique is<br>
similar to that of MC4D. This is useful for<br>
making points about how MC4D works by making<br>
reference to the analogous behaviour of MC3D.<br>
MC3D is not analogous to MC4D in all ways,<br>
however; as it is more general in some respects.<br>
Though you can configure it to look and behave<br>
analogously to MC4D, you do not have to do so.<br>
There is a document on the Web site comparing MC3D<br>
and MC4D.
For the most part, the 4D_Cubing Group is about<br>
higher dimensional analogues of Rubik's Cube.<br>
MC3D puts a twist on this by pushing the<br>
dimensional analogy in the opposite direction.<br>
You can address the question, "What would it be<br>
like for Flatlander to try to solve the 3D puzzle<br>
based on a 1D projection of a 2D model resulting<br>
from a 3D to 2D dimension-reducing perspective<br>
projection." <br>
(See http://en.wikipedia.org/wiki/Flatland/.)
MC3D offers a text-based method which presents the<br>
state of the puzzle using only a 2D view and which<br>
still allows one to play with it interactively.<br>
The significance of this presentation is that it<br>
generalizes in a straightforward manner to higher<br>
dimensions. It is cubie-oriented - as opposed to<br>
sticker-oriented.
Other qualities of the program which folks may find
interesting are the following:
The program is highly configurable. The<br>
Commentary Page on the Web site runs through the<br>
built-in configurations discussing their<br>
significance. (It includes small illustrations,<br>
so you don't have to be trying the configurations<br>
with the program, though you will probably want to<br>
do so for the sake of interaction or a better<br>
view.) Excepting the presentations in the<br>
Layered-View Window, the interesting thing about<br>
the surprising variety of the configurations is<br>
that they are all continuously deformable into one<br>
another. They do not correspond to distinct<br>
behaviours of the program, but all correspond to<br>
different parameterizations of a rigorous 3D to 2D<br>
perspective projection.
The program implements reflecting 'twists'. MC4D<br>
and all Rubik's Cube simulators I have seen<br>
require that the twists be 'physical' in the sense<br>
that no mirror imaging is allowed to occur. MC3D<br>
will mirror a slice if you want it to. This leads<br>
to an interesting variation on the 3D puzzle which<br>
cannot even be attempted with a physical<br>
implementation. It was Roice who suggested this<br>
idea in the context of a dialogue we were carrying<br>
on privately about reorientations of 4-cubes. It<br>
was actually easy to implement, and the animation<br>
is intriguing to watch. (When he suggested it,<br>
Roice did not know that I had developed this<br>
program for the 3D puzzle and that I was actually<br>
in a position to immediately implement the idea.)<br>
I have not yet worked out all the theoretical<br>
implications of reflecting twists; but it does<br>
look like the number of reflected corners must be<br>
even. When reflecting an external slice, the<br>
resulting permutations of edges and corners have<br>
different odd/even parity.
One thing I tried for the purpose of facilitating<br>
observation of puzzle state without shrink was to<br>
make the stickers semi-transparent. It turns out<br>
that this is not helpful; but I left the feature<br>
in because it does make some cool looking<br>
pictures.
My original motive in writing the program was to
facilitate analogies to MC4D from the point of view of
the 3D puzzle, which would give folks a more familiar
basis to start from. However, I realized early on
that I had come up with a program for the 3D puzzle
that was actually quite good even for someone whose
only interest was in the 3D puzzle and not on
extensions to other dimensions (either direction).
When I realized that, I got carried away with adding
features to facilitate regular usage. This includes
undo/redo and color customization; and, for the
application version of the program, a state-saving and
state-recovery capability.
You can launch the Applet version of the program
directly from the home page. The only features of the
program which are not available in the Applet version
are the ability to save and restore the state of the
program. However, given the extreme configurability
of the program, the save/restore capability is well
worth doing the download (and ‘installation’) for
anyone who expects to be playing with the program on a
frequent basis.
The program is still fairly ‘green’, so don’t be
surprised if you encounter a bug. I will appreciate
good bug reports from anyone who discovers some. MC3D
is also my first effort at Java programming, so I
certainly won’t mind constructive criticism of my code
from anyone who wants to take a look at it.
Perhaps there are 4D_Cubing Group members who are more
in touch with other Web communities for which the
interest is only in the 3D puzzle. I think I should
eventually make such folks aware of my creation; but I
don’t even know what forums would be appropriate to
‘announce’ it in. I would appreciate some feedback on
this issue.
I look forward to your comments.
Regards,
David V.