Nombre de visites sur cette page : 6088 Score au progrank : 44 Note actuelle : 8.5/10 noté 2 fois Vous devez être connecté(e) pour noter (inscription).
Voici le Musée de Babel, un musée contenant toutes les images de 21*7 pixels monochromes pouvant exister!
Il contient par exemple une image avec écrit votre prénom, une image représentant une calculatrice, une image avec les numéros du prochain tirage du loto convertis en binaire, il contient aussi séparées en plusieurs images (chacune numérotée) des représentations de l'ADN de chaque humain sur terre, et même de l'ADN de personne n'étant pas encore nées.
En vous déplaçant dans ce musée virtuel, vous pouvez croiser les administrateurs et gardiens du musée qui pourront vous dévoiler différentes informations à propos du musée.
Le musée a la forme d'un immense bâtiment rectangulaire de 4294967296 étages, chaque étage contient des "quartiers", avec 4294967296 rangées et autant de colonnes de quartiers par étage, et enfin chaque quartier est composé de salles avec 4294967296 rangées de salles et 16384 colonnes de salles. chaque salle contient 32 images différentes et les quartiers sont séparés par des couloirs de salles vides.
Les coordonnées d'une salle dans le musée sont donc :
numéro de l'étage(étage)
numéro de la rangée du quartier(rangée)
numéro de la colonne du quartier(colonne)
numéro de la rangée de la salle(rangée2)
numéro de la colonne de la salle(colonne2)
Vous pouvez ainsi partager une image à quelqu'un en lui donnant les coordonnées de la salle dans laquelle elle se trouve.
Vous pouvez également chercher la localisation d'une image en la dessinant avec l'outil de recherche d'images présent dans chaque salle.
Les coordonnées de la salle dans laquelle vous vous trouvez sont sauvegardées dans la liste 15.
Ce musée est inspiré de la nouvelle de Jorge Luis Borges "La Bibliothèque de Babel".
En effet je suis bloqué à l'algorithme qui permet de trouver les coordonnées de la
salle, voilà la structure d'algorithme sur laquelle je travaille en ce moment:
> convertir les lettres de l'écran en décimal (A=1, B=2 ...), ce qui donne avec toutes les valeurs des lettres ensemble, une valeur en base 26 ( les 26 lettres de l'alphabet )
> convertir la valeur en décimal depuis le base 26 grâce à la formule:
x*26^y -> valeur en décimal
avec x = valeur en base 26 de l'unité la plus grande ( pour la valeur 3 15 2, x = 3)
y = nombre de zéros derrière x ( pour la valeur 3 15 2, y = 2 car deux nombres
derrière le 3)
> à partir de la valeur de l'image en décimal obtenue, trouver la salle (c'est là que je suis bloqué...)
Donc j'aimerais bien que tu m'expliques comment, à partir de la valeur en décimal de l'image, on peut trouver des coordonnées ( comme tu l'as fait dans ton programme)
Ta formule de passage en décimal a un problème... on peut observer que pour 3-15-2 les valeurs de x et de y ne dépendent que du premier chiffre et du nombre de chiffres !
Autrement dit 3-15-2, 3-8-4, 3-25-21 et 3-12-6 donneront tous le même résultat en décimal ! Ce n'est probablement pas ce que tu attends...
Je te conseille de premièrement découper l'image en plusieurs parties à cause de la précision de la calculatrice, puis pour chaque partie pour passer de base 26 à base 10, tu fais : initialiser le nombre en base 10 à 0, puis pour chaque "chiffre" du nombre en base 26 ajouter (valeur du chiffre)*26^(place du chiffre dans le nombre). Puis pour revenir en base 26, si je me souviens bien, pour passer de base 10 à base 26 tu divises les nombre par 26, puis le reste c'est le premier chiffre, puis tu prends le quotient et tu le redivise par 26, ce qui te donne le 2eme chiffre et le quotient et tu fais ça jusqu'à ce qu'il reste plus rien. Exemple : DKW => 4 11 23 => 23*26^0 + 11*26^1 + 4*26^2 = 3013
3013/26 = 115 + 23 => 23 = W
115/26 = 4 + 11 => 11 = K
4/26 = 0 + 4 => 4 = D
LePhenixNoir:
pour les valeurs suivantes, tu fais une boucle et tu additionnes à chaque fois
la valeur décimale obtenue avec la précédente, ca c'est encore théorique mais je suis en train de réécrire le code:
Alexot:
merci de m'indiquer comment faire l'inverse !
je savais pas comment faire...
Aussi pour découper l'image en parties, c'est une bonne tactique ! je pensais le faire avec le "musée" pour réduire les valeurs, mais le faire avec l'image sera plus simple !
alors j'ai fini le convertisseur base 26 en base 10.
MAIS parfois les nombres sont trop grands pour ma pauvre casio qui me sort une Ma Error qu'on aime tous ! Je pense du coup diviser les valeurs obtenues pour qu'elles soient manipulables. Ces valeurs serviraient alors à indiquer les
coordonnées d'une zone dans le musée. ce nombre, je pense le fixer à une valeur ronde ( pour que chaque zone ait le même nombre de salles ) mais la casio n'étant
pas assez précise, il me faudra faire les calculs autrement !
Donc si vous avez des idées, n'hésitez pas à me les donner !
Une bonne idée est en effet de conserver les valeurs indépendamment. Par exemple, utiliser un nombre à 6 digits en base 26 pour représenter 6 points de ton image/texte, et laisser les autres points à d'autres nombres.
Oui, c'est ce que je voulais dire par "découper l'image en plusieurs parties à cause de la précision de la calculatrice", en fait dans mon programme, chaque partie des coordonnées correspond à un groupe plusieurs pixels dans l'image.
En effet, un éditeur en mode texte se ferait rapidement. Mais à quoi sert le musée de Babel si on sait à l'avance l'image que l'on souhaite ? A moins que tu souhaites faire des recherches sur une sous-image d'une pièce (du style, dans combien de pièces apparaît mon pseudo ?).
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd