# Rubik Test Release

## Current Release Date: May 4, 2003

Rubik is a program that helps you learn about and solve Rubik's cube. The screenshot above should give you some idea what it looks like and what it does.

It's pretty new, so I'd be happy to hear about any bugs you find or features you might suggest. I'm also interested in documentation errors or omissions, and am particularly interested in comments on my rough draft of the associated mathematics tutorial.

## What's it for?

I wanted a program that lets me manipulate a virtual cube for use in a classroom (kids in the back can't see a hand-held cube very well). I wanted something that would let me experiment with cube-solving macros and pretty patterns.

In addition, I am working on a document that can be used in conjunction with the program and a physical cube to introduce concepts like group theory and permutations to students using a method that's perhaps more engaging than the normal approaches.

It has a "solve" command so even students who can't solve their physical cubes yet can enter their cube's configuration and recieve a series of moves that they can use to restore thier cube to "solved" without resorting to a screwdriver.

## Feature List

• Runs under Windows and Mac OS X (version 10.2.0 or later). It also runs under Linux on a PC, but that's not well-tested.
• Includes complete documentation in Acrobat format.
• There is an associated document (rough draft still) that can be used to learn about the cube and some mathematics as a side-effect (group theory and permutations, primarily).
• Allows you to manipulate a virtual cube by clicking the faces to turn them. Various combinations of the shift-, control-, and alt- keys reverse the direction, move the center slice, rear slice, or the entire cube.
• Macro support: Define, save, load, and apply macros which are series of cube moves to achieve desired ends. The macros can be single-stepped, viewed with continuous motion, or simply applied to produce the final result with no intermediate steps.
• Includes a "solve" command that will solve the current configuration. (It's not an optimal solution, but it's pretty good.
• Input your own configurations (probably so you can use the solve command on it to return your physical cube to solved.
• Has a demo mode that displays a tumbling, twisting cube. It can make up its own patterns, or you can tell it how you want it to move.
• Produces an Encapsulated PostScript file that will draw the current configuration. (Good for producing documentation.)

MacOSX executable (for Power PC):
rubik.tar.gz

MacOSX executable (for Intel Macs):
rubik1.tar.gz

MacOSX executable (for Intel Macs, Mountain Lion):
testrubik.tar

Windoze executable:
rubik.exe
Note: On some Windows systems, the cube graphics is scrambled. If this happens to you, try reducing or eliminating your hardware graphics acceleration. See:
http://www.deskshare.com/Resources/articles/dmc_turnoffhardwareacceleration.aspx

Linux executable + documentation + patterns:
linuxrubik.tar.gz

Documentation:
rubik.pdf

Some pretty pattern macros:
patterns.rub

Here's the source code for a program that will allow you to calculate the size of the subgroup generated by a set of generators. It works by brute force, but on my machine, with a gig of memory, it can do subgroups with up to about 30,000,000 members:
subgroup.tar.gz

Group Theory via Rubik's Cube is a document (currently still in rough-draft form) for use by teachers, students, or anyone interested in learning a bit more about the cube and the mathematics behind it. This document assumes no knowledge of group theory, but is aimed roughly at the level of bright high-school students.