Algorithme de résolution du rubik's cube avec visualisation 3d

Soyez le premier à donner votre avis sur cette source.

Vue 133 906 fois - Téléchargée 5 741 fois

Description

lien : http://www.fessedebouc.fr/2008/02/11/

Un "petit" algorithme de résolution du Rubik's Cube en actionscript que j'ai fait pour amuser un peu mes petits neurones ;)

L'animation présente un cube mélangé avec un simple bouton de résolution qui actionne l'algo.

Le résultat est une série de lettres encodant les 18 mouvements possibles amenant à la solution.

La position de référence du cube est : face blanche en haut, face verte de front et face rouge coté droit.

Encodage des mouvements:
A : rotation horizontale sur la première rangée vers la droite
B : A inversé (vers la gauche)
C : rotation horizontale sur la deuxième rangée vers la droite
D : C inversé
E : rotation horizontale sur la troisième rangée vers la droite
F : E inversé
G : rotation verticale sur la première colonne de face sens horaire (par rapport à la vu de droite)
H : G inversé (sens anti-horaire)
I : rotation verticale sur la deuxième colonne de face sens horaire
J : I inversé
K : rotation verticale sur la troisième colonne de face sens horaire
L : K inversé
M : rotation verticale de coté sur la première rangée (par rapport à la vue de face) sens horaire (<=> rotation de la face verte)
N : M inversé
O : rotation verticale de coté sur la deuxième rangée sens horaire
P : O inversé
Q : rotation verticale de coté sur la troisième rangée sens horaire (<=> rotation de la face arrière bleue)
R : Q inversé

Désolé de pas avoir fais de petit schéma de traduction (ca sera pour la V2 :))

La résolution se décompose en sept étapes :
I : Position initiale du cube (centre blanc en haut, centre vert de front, centre rouge à droite)
II : Position des coté de la face blanche
III : Position des angles de la face blanche
IV : Position des cotés intermédiaires sur la deuxième rangée
V : Ordonancement des angles angles jaunes
VI : Composition de la face jaune
VII : ordonnancment finale des cotés jaunes

Conclusion :


Visualiser le résultat sur : http://www.fessedebouc.fr/2008/02/11/

Cette méthode de résolution m'a été inspirée par cette page : http://www.tevader.com/divers/resoudre-le-rubicube.php, merci à son auteur.

Les résultats sont plutot corrects 130 mouvements en moyenne. Il existe, bien sur, quantité d'optimisations possibles, mais je ne me suis pas encore penché sur la question ;)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_fanfouer
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
Domage que l'on ne puisse pas definir nous meme la position et la couleur des cases pour qu'il nous le resolve et qu'on le fasse a coté avec un vrai cube (peut-etre pour une V2^^). Enfin bon pas de pessimisme, c'est deja très bien!! 8/10
gyome314
Messages postés
126
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
22 janvier 2009
-
La fonction de saisie est prévue dans la classe, mais j'ai pas encore pris le temps de faire l'interface qui va avec ;)

Effectivement ca sera pour la v2 !
cs_fanfouer
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
C'est parfait! encore bravo et à quand penses-tu que la V2 va sortir?
gyome314
Messages postés
126
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
22 janvier 2009
-
Je bosse sur la partie modélisation 3d en ce moment ;)
J'avance bien, mais c'est relativement long à mettre en place...

Disons... fin juin :)
gyome314
Messages postés
126
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
22 janvier 2009
-
Et voilà la V2 ... enfin !
J'étais un peu optimiste avec mon fin juin, j'ai fait plein d'autres trucs en même temps.

Mais ca vallait le coup, je suis plutôt satisfait du résultat :)

Si vous avez un rubik's cube chez vous, vous pouvez essayer en passant par la saisie manuelle, vous aurez une solution de résolution en visu 3D (juste un peu de patience par contre, on tourne toujours autour des 130 mouvements).

Si vous avez d'autres idées d'évolution allez s'y, je m'ennuis sinon :p (j'espère que mon boss ne fréquente pas ce site... :s)

A+
Gyome

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.