Översikt/Förklaringar3D-kuben och den utvikta 2D-varianten på vänster sida är synkroniserade och används för att ange startpositionen, d.v.s. en fysisk kubs aktuella utseende. 3D- och 2D-representationerna på höger sida används för att ange den önskade målpositionen. När de angivna start- och målpositionerna inte är kompatibla, så är startknappen (med pilen och frågetecknet) bortkopplad. När de är kompatibla, går det däremot att trycka på den knappen för att låta programmet räkna fram en väg frän start till mål och presentera den som ett antal grundrotationer att utföra. Under varje 2D-representation finns en kontrollpanel bestående av tolv knappar (en knapp per grundrotation). När man trycker på en av dessa knappar, utförs motsvarande grundrotation i de ovanstående kubrepresentationerna. Man kan även vrida och vända 3D-representationen och utföra grundrotationer genom att klicka och dra den i naturliga riktningar. Mittemellan start- och målrepresentationerna finns en färgväljare. Vald färg anges genom additiv färgblandning där grundfärgerna är rött, grönt och blått (RGB). Så ordnar du den Rubiks kub du har i handen:1. Fastställ de sex centrala rutornas färger. Kuben har som bekant sex sidor. Varje sida har nio rutor (etiketter). De sex sidornas centrala rutor kan anses vara fasta referenspunkter eftersom de alltid står likadant i förhållande till varandra oavsett hur mycket du snurrar på kuben. I detta steg måste du se till att de sex centrala rutornas färger stämmer sinsemellan när du jämför med din egen kub. Om de redan stämmer, kan du gå direkt till steg 2. Annars kan du, genom att klicka på en sidas centrala ruta i 2D-representationen, ändra färgen för hela denna sida. I detta steg spelar det ingen roll om du klickar på start- eller målrepresentationen. Båda kuber uppdateras ändå. Det är ju en förutsättning för att de skall kunna vara kompatibla. Här är ett litet exempel: Säg att du kommit fram till att blått och grönt behöver byta plats med varandra. Detta kan du åtgärda med tre enkla klick, nämligen ett på den blåa centrala rutan vilket får den att skifta färg med färgväljaren, därefter ett på den gröna centrala rutan så att den blir blå och så ett igen på den första rutan som nu blir grön. |
2. Fördela om de övriga färgrutorna genom att klicka och på så vis svärta alla som står på fel ställe i 2D-startkuben. Därefter klickar du på någon av de etiketter som hamnat vid sidan av för att välja dess färg och klickar på rätt rutor för att färga dem.
3. Hela tiden kan du jämföra din egen kub med såväl 2D- som 3D-representationen på skärmen. När startkuben på skärmen har fått exakt samma färgfördelning som din egen kub och om du är nöjd med målkubens utseende, så kan du trycka på knappen med pilen och frågetecknet för att sätta igång den automatiska beräkningen av en lösning. Denna anges i det vita vänstra fältet med hjälp av tolv olika symboler som står för de tolv olika möjliga grundrotationerna. (Varje grundrotation motsvarar ett kvartvarv i någon riktning på någon av kubens sex sidor. Sidornas centrala rutor byter aldrig plats.) Dessa symboler är samma som de som finns på knapparna under respektive kub, så om du vill, kan du testa vilken effekt knappen har på kuben innan du själv utför grundrotationen på din kub. Emellertid kan detta kanske kännas lite tidsödande. För att snabbare förstå symbolernas innebörd, kan du tänka på följande: Den sida, som i 2D-representationen står vid korsdiagrammets genomskärning, skall vara din fysiska kubs översta sida. Den sida, som i 2D-figuren står just under den, skall vara vänd mot din mage och 2D-figurens översta sida skall alltså vara vänd mot skärmen. För att tolka grundrotationssymbolerna, tänk nu att de visar kuben sedd uppifrån. De symboler, som innehåller raka pilar, blir relativt enkla att förstå om man tänker att dessa pilar är ritade längs den översta sidans olika kanter. De fyra övriga symbolerna (med böjda pilar) gäller rotationer av den översta respektive nedersta sidan. En stor, böjd pil runt en mindre kvadrat gäller en rotation av den översta sidan. En liten, böjd pil inuti en större kvadrat gäller en rotation av den nedersta sidan. (Om kuben vore i glas, så man såg rakt igenom den, så skulle kvadraten föreställa den översta sidans konturer och den mindre pilen vara ristad i den nedersta ytan och därför se mindre ut eftersom den sidan står några centimetrar längre bort när vi tittar uppifrån!)
Programmet hade kunnat skrivas, så att det alltid räknade ut den snabbaste vägen (med så få grundrotationer som möjligt) från start till mål. Tyvärr hade användaren ofta fått vänta några år på svaret, så i stället används ett mera mänskligt förfarande med ett antal delmål på väg mot det slutgiltiga. Ibland kan man tycka att programmet helt i onödan anger en grundrotation för att i nästa steg backa med motsatt rörelse. Då beror det på att det valde den förstnämnda rotationen som ett sista led mot ett delmål det föresatt sig att uppnå och i nästa stund motsatt rotation som ett första led i sin vidare färd mot nästa mål.
Programmet är skrivet av Johan Dufour.
Synpunkter är välkomna och kan sändas till:
3D-representationen av kuben är i hög grad inspirerad av Karl Hörnells "Rubik Unbound". (Fler intressanta applets finns på hans hemsida: www.javaonthebrain.com)