# Metodo Petrus

Il metodo Petrus è un metodo di risoluzione del cubo di rubik ideato da Lars Petrus.
Questo metodo consiste in 7 fasi:
* costruzione di un cubo 2x2x2;
* allargamento del cubo 2x2x2 fino a un parallelepipedo 2x2x3;
* orientamento degli spigoli;
* completamento di due strati;
* posizionamento degli angoli;
* permutazione degli angoli;
* permutazione degli spigoli.
Il metodo Petrus prevede un numero di mosse compreso tra 70 e 100.
Per rendere più facile la comprensione, di seguito le varie fasi verranno spiegate descrivendo la risoluzione di un ipotetico cubo, come esempio passo passo.

## Prima fase: il cubo 2x2x2

L'obiettivo è quello di costruire il cubo 2x2x2 bianco-rosso-blu. Il modo è molto semplice e, soprattutto, privo di algoritmi e puramente intuitivo: è possibile procedere come nella costruzione della croce iniziale prevista dal metodo Fridrich, nella maniera che preferiamo. Prendendo in mano il nostro ipotetico cubo, è possibile, ad esempio, posizionare innanzitutto i due spigoli bianco-blu e bianco-rosso, in seguito l'angolo bianco-rosso-blu e infine lo spigolo rosso-blu.

## Seconda fase: il parallelepipedo 2x2x3

Sempre ricorrendo al proprio intuito, l'obiettivo è allargare il cubo 2x2x2 precedentemente creato, aggiungendo un blocco 2x2 spigolo-angolo-spigolo, per creare un parallelepipedo 2x2x3.
Riprendendo il nostro cubo bianco-rosso-blu, decidiamo, ad esempio, di aggiungere un blocco rosso-verde: posizioniamo lo spigolo bianco-verde; poi posizioniamo l'angolo bianco-rosso-verde; infine posizioniamo lo spigolo rosso-verde.

## Terza fase: Orientare i sette spigoli restanti

Ciò che dobbiamo fare ora è orientare gli spigoli rimanenti. Orientare gli spigoli non significa posizionarli correttamente; in questo caso, se il cubetto dello spigolo rosso-giallo, una volta posizionato nel posto giusto (cioè tra la faccia rossa e quella gialla del cubo) utilizzando solo le due facce libere (quindi senza disfare il parallelepipedo finora creato), ha la faccia rossa sulla faccia gialla del cubo e la faccia gialla sulla faccia rossa del cubo, allora esso non è orientato. In caso contrario, esso è orientato correttamente.
Il numero di spigoli che devono essere orientati sarà sempre un numero pari. Quindi, a seconda dei casi dovremo orientare 0, 2, 4 o 6 spigoli. Gli spigoli vanno orientati sempre a coppie, mai uno per volta. Per orientare una coppia di spigoli:
* posizionare il cubo in modo che una faccia 2x2 del parallelepipedo costruito finora sia su F (la faccia frontale) e in basso a destra. Secondo quanto fatto da noi finora, posizionare, ad esempio, la faccia blu 2x2 davanti a noi, con l'angolo bianco-rosso-blu in basso a destra della faccia;
* posizionare i due spigoli da orientare, in modo che uno di essi sia su F (davanti a noi) e l'altro sia su L (la faccia di sinistra);
* eseguire questa mossa: F' L F
Adesso i due spigoli saranno orientati. Fare la stessa cosa con le altre coppie di spigoli non orientati, spostando gli spigoli nella posizione descritta nel punto 2) ricordandosi di muovere solo le due facce libere (che, mantenendo la posizione del cubo descritta nel punto 1) saranno U e L, cioè la faccia superiore e quella di sinistra).

## Quarta fase: completare due strati

A questo punto dobbiamo completare i primi due strati, facendo in modo che sulla faccia libera del terzo strato si venga a costruire una croce. Per fare ciò, costruiamo prima un altro blocco 2x2 da unire al parallelepipedo finora creato, ricordandoci di usare solamente le due facce U e L (la faccia F adesso non dovremo più muoverla). Nel nostro caso, ad esempio, potremmo creare il blocco 2x2 rosso-blu-giallo, posizionando i due spigoli (rosso-giallo e blu-giallo) accanto all'angolo rosso-blu-giallo, e poi unendo il blocco creatosi con il parallelepipedo fatto precedentemente.
A questo punto, dovremo costruire il blocco 1x2 da "incastonare" nello spazio rimasto, in modo da formare un blocco 3x3x2 e completare quindi i primi due strati, sempre usando solamente le facce U e L (il blocco 2x2 appena creato potrà essere spostato, muovendo U, ma non disfatto). Nel nostro caso, quindi, dovremo creare il blocco 1x2 rosso-verde-giallo, unendo, in un primo momento, l'angolo rosso-verde-giallo allo spigolo verde-giallo e, poi, inserire il blocco 1x2 venutosi a creare nell'apposito spazio. Una volta fatto ciò, il cubo si presenterà con i primi due strati completati e la faccia superiore avrà una croce (nel nostro caso, la croce apparterrà alla faccia arancione).

## Quinta fase: posizionare gli angoli

Arrivati a questo punto, dobbiamo prestare attenzione alla posizione degli ultimi quattro angoli dell'ultimo strato da completare. Possono presentarsi tre casi:
* Tutti gli angoli si trovano nella posizione corretta. In questo fortunato caso, possiamo passare alla fase successiva per orientare gli angoli.
* Due angoli sono scambiati tra di loro.
* Tutti gli angoli sono scambiati tra di loro.
Per vedere se due angoli della stessa faccia vanno invertiti fra loro, occorre spostarli sotto la faccia del colore che hanno in comune, dopodiché controllare se i loro colori corrispondono con le facce adiacenti. Per scambiarli, si posiziona il cubo tenendo i due angoli da scambiare sulla faccia sinistra (L) e, tenendo la croce su U, si esegue questo algoritmo: R U' L' U R' U' L U2. Se gli angoli scambiati tra di loro sono quattro, la mossa va eseguita due volte, sempre mantenendo gli angoli da scambiare sulla faccia sinistra.

## Sesta fase: permutare gli angoli

Adesso che gli angoli sono stati posizionati, andranno permutati, ovvero andranno ruotati in modo le che facce dei singoli angoli combacino con quelle delle facce del cubo.
Se nessun angolo è già permutato, si esegue questo algoritmo tenendo il cubo in una posizione qualsiasi, ma sempre con la croce rivolta verso l'alto: L' U' L U' L'U2 L U2. Così facendo, un angolo dovrebbe essere stato permutato. A questo punto, ripetere l'algoritmo tenendo l'angolo permutato davanti a sé e in alto a destra. Se non bastasse, ripetere l'algoritmo una seconda volta, mantenendo la stessa posizione.

## Settima fase: posizionare gli spigoli

Avendo permutato gli angoli, non ci rimane che permutare gli spigoli. Si potranno presentare quattro casi:
* gli spigoli opposti sono scambiati tra di loro, quindi gli spigoli si scambiano a croce. Tenendo il cubo in una posizione qualsiasi (ma con la croce rivolta verso l'alto) eseguire questo algoritmo: L2 R2 U2 L2 R2 U' L2 R2 U2 R2 L2 U;
* gli spigoli di facce adiacenti sono scambiati tra di loro, quindi gli spigoli si scambiano in diagonale. Tenendo il cubo in modo tale che gli spigoli si debbano scambiare in diagonale verso destra (lo spigolo di F si scambierà con lo spigolo di R, mentre quello di L si scambierà con quello di B), eseguire questo algoritmo: U R U' R U' R U R U' R' U R U R2 U' R' U;
* uno spigolo è posizionato correttamente e gli altri tre si scambiano in senso orario. Tenendo il cubo in modo che lo spigolo già in posizione corretta (quindi, la faccia laterale già completata) si trovi dietro, e con la croce rivolta verso l'alto, eseguire questo algoritmo: R2 U R U R' U' R' U' R' U R';
* uno spigolo è posizionato correttamente e gli altri tre si scambiano in senso antiorario. Tenendo il cubo in modo che lo spigolo già in posizione corretta (quindi, la faccia laterale già completata) si trovi dietro, e con la croce rivolta verso l'alto, eseguire questo algoritmo: R U' R U R U R U' R' U' R2.