Thread: "MC3D: Yet Another Rubik's Cube Simulator"

From: David Vanderschel <DvdS@Austin.RR.com>
Date: 26 Jun 2006 04:38:29 -0500
Subject: MC3D: Yet Another Rubik's Cube Simulator



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
similar to that of MC4D. This is useful for
making points about how MC4D works by making
reference to the analogous behaviour of MC3D.
MC3D is not analogous to MC4D in all ways,
however; as it is more general in some respects.
Though you can configure it to look and behave
analogously to MC4D, you do not have to do so.
There is a document on the Web site comparing MC3D
and MC4D.

For the most part, the 4D_Cubing Group is about
higher dimensional analogues of Rubik's Cube.
MC3D puts a twist on this by pushing the
dimensional analogy in the opposite direction.
You can address the question, "What would it be
like for Flatlander to try to solve the 3D puzzle
based on a 1D projection of a 2D model resulting
from a 3D to 2D dimension-reducing perspective
projection."
(See http://en.wikipedia.org/wiki/Flatland/.)

MC3D offers a text-based method which presents the
state of the puzzle using only a 2D view and which
still allows one to play with it interactively.
The significance of this presentation is that it
generalizes in a straightforward manner to higher
dimensions. It is cubie-oriented - as opposed to
sticker-oriented.

Other qualities of the program which folks may find
interesting are the following:

The program is highly configurable. The
Commentary Page on the Web site runs through the
built-in configurations discussing their
significance. (It includes small illustrations,
so you don't have to be trying the configurations
with the program, though you will probably want to
do so for the sake of interaction or a better
view.) Excepting the presentations in the
Layered-View Window, the interesting thing about
the surprising variety of the configurations is
that they are all continuously deformable into one
another. They do not correspond to distinct
behaviours of the program, but all correspond to
different parameterizations of a rigorous 3D to 2D
perspective projection.

The program implements reflecting 'twists'. MC4D
and all Rubik's Cube simulators I have seen
require that the twists be 'physical' in the sense
that no mirror imaging is allowed to occur. MC3D
will mirror a slice if you want it to. This leads
to an interesting variation on the 3D puzzle which
cannot even be attempted with a physical
implementation. It was Roice who suggested this
idea in the context of a dialogue we were carrying
on privately about reorientations of 4-cubes. It
was actually easy to implement, and the animation
is intriguing to watch. (When he suggested it,
Roice did not know that I had developed this
program for the 3D puzzle and that I was actually
in a position to immediately implement the idea.)
I have not yet worked out all the theoretical
implications of reflecting twists; but it does
look like the number of reflected corners must be
even. When reflecting an external slice, the
resulting permutations of edges and corners have
different odd/even parity.

One thing I tried for the purpose of facilitating
observation of puzzle state without shrink was to
make the stickers semi-transparent. It turns out
that this is not helpful; but I left the feature
in because it does make some cool looking
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.





Return to MagicCube4D main page
Return to the Superliminal home page