Bonjour,
Je vous propose un nouvel �l�ment � utiliser : RubixCube, un simulateur
Ce programme, un simulateur de Rubik's Cube (3*3*3), permet de reproduire toutes les actions qu'un amateur de ce genre d'objet peut entreprendre. Il permet de recopier un Cube r�el, soit manuellement avec le clavier de l'ordinateur et la souris soit avec un scanneur � plat. Il prend en compte les d�formations (mouvements de faces) du Cube r�el et bien entendu il comporte plusieurs fonctions de r�solutions, permettant en final de r�ordonner le Cube physique. Il peut aussi pr�senter une s�quence de mouvements du Cube dans un gif anim�.
Ce programme est r�alis� en Visual CPP avec l'atelier logiciel Microsoft Visual Studio Community 2019. Il est con�u avec la biblioth�que MFC standard sans utiliser l'architecture Document/Vue.
L'une des originalit�s de ce programme est la repr�sentation d'un Rubik's Cube en relief comme un nuage de 27 petits cubes color�s �voluant dans l'espace. La g�n�ration de cette image n'utilise pas de biblioth�que graphique particuli�re mais seulement un algorithme simplifi� de calcul de perspective. D'autre repr�sentations en d�roul� � plat peuvent aussi �tre propos�es. Toutes ces images peuvent �tre plac�es en fichier ou dans le presse papier.
De nombreuses fonctions, tir�es de versions libres du Web, assurent la r�solution du Cube en fournissant la formule pour le remettre en ordre :
- R�solution par couche : Comme un amateur peut remettre en ordre un Cube "� la main".
- R�solution des centres : Remettre en ordre les facettes centre de face pour les Cubes o� une image est dessin�e sur les faces.
- M�langer le Cube avec une complexit� donn�e pour des concours, par exemple.
- R�solution rapide : Un algorithme de r�solution rapide mais ne garantissant pas la solution la plus courte.
- Recherche de ou des solutions les plus courtes : d�termine la ou les solutions les plus courtes.
L'originalit� des deux derni�res fonctions est de travailler en multiprocesseurs en mettant � contribution la configuration multiprocesseurs du PC pour r�duire les temps de r�solution.
Un "History" m�morise les mouvements r�alis�s sur le simulateur, il permet de les rejouer ou de corriger un mouvement erron�.
Le programme reconnait les principaux formats de donn�es utilis�s par les amateurs de Rubik's Cube. Il comporte une documentation int�gr�e expliquant ses diff�rentes fonctions. Cette documentation comporte un chapitre pour les d�veloppeurs d�crivant les techniques utilis�es et le fonctionnement interne de ce programme.
Enfin le programme est compl�t� de nombreux moyens d'�change avec d'autres programmes ou le Web gr�ce au Presse Papier, au Drag Drop avec la souris ou l'�change de fichiers. Diff�rents formats peuvent �tre utilis�s :
- Format propri�taire (*.rbx) d�finissant l'orientation des 27 cubes �l�mentaires gr�ce une lettre ASCII.
- Format position (*.txt) d�finissant les couleurs des 54 facettes �l�mentaires (D:GYOGYRYYR U:OY...).
- Format Singmaster (*.sgm) standard des amateurs de Rubik's Cube.
- Format Man�uvre (*.man) exprimant la formule inverse de r�solution en une suite de mouvements de faces exprim�s avec l'alg�bre du Rubik's Cube.
- Formats images (*.bmp, *.jpg, *.gif, *.png) utilisant l'image en couleur du d�roul� � plat des faces du Rubik's Cube.
- Format TIFF (*.tif) contenant les six images des faces du Rubik's Cube.
- Format Couleur (*.col) sauvegardant les six couleurs utilis�es pour peindre les facettes du Cube.
- Format Historique (*.his) sauvegarde l'historique des derni�res commandes de mouvements ex�cut�es.
Diff�rents moyens de documentation expliquent l'usage de toutes ces fonctions, comme des Tooltips apparaissant lorsqu'on survole avec le curseur de la souris les commandes ou un mode d'emploi d�taill� appel� par l'aide ou la touche F1. Cette documentation est r�alis�e avec la vielle m�thode Microsoft plus impl�ment�e sur les ateliers logiciels r�cents.
De plus cette application peut devenir une mine d'id�es pour les d�veloppeurs pour, par exemple, lire une image sur un scanner, cr�er des 'gif' anim�s...
Qu'en pensez-vous ?
Partager