π
<-

Afficheur d'image Python pour Casio/Nspire via PolyPyNet

Afficheur d'image Python pour Casio/Nspire via PolyPyNet

Unread postby critor » 11 May 2020, 09:28

Chaque constructeur de calculatrices a choisi de fabriquer sa propre bibliothèque permettant de contrôler directement les pixels de l'écran, bien évidemment incompatible avec toutes les autres :
  • kandinsky sur NumWorks
  • casioplot sur Casio Graph 90/35+E II
  • ti_graphics sur TI-83 Premium CE Edition Python

Nous te présentions dans dans un article précédent notre propre bibliothèque PolyPyNet résolvant ce problème.

Non non, il ne s'agit absolument pas d'une 4ème bibliothèque graphique supplémentaire à apprendre. :p

C'est en fait une bibliothèque de compatibilité, ultra simple à utiliser pour toi, que tu sois utilisateur ou développeur :
  • Utilisateur, il te suffit de charger les fichiers de PPN sur ta calculatrice et c'est tout, plus besoin de t'en occuper. :bj:
  • Développeur, tu as juste à remplacer le nom de module constructeur dans tes lignes d'importation par ppn et c'est tout, rien d'autre à changer dans ton script, tu continues à coder avec les fonctions de ta bibliothèque graphique préférée, que ce soit casioplot, kandinsky ou ti_graphics. :bj:
    Tu es de plus libre d'intégrer, modifier et redistribuer la bibliothèque avec tes scripts. :D
PPN te permet même d'exécuter tes scripts graphiques Python pour calculatrices sur ton ordinateur avec tkinter ! :bj:


Nous poursuivons aujourd'hui l'exploration et l'amélioration de cette bibliothèque, avec un script Python développé par Kikoodx pour Casio Graph 90+E, dans le cadre du concours de démo graphiques Python chez Planète Casio.

Il s'agit ici d'un script affichant une image codée en dur, ici une photo de clé USB Casio.

Notons au passage l'affichage de texte décoré, en blanc avec contour noir. ;)

L'image fait 384×192 pixels et Kikoodx l'inclut dans le code dans une version indexée, faisant appel à une palette de 256 couleurs optimisée pour cette image.

384×192=73728 à raison déjà d'1 octet par pixel, on peut de suite renoncer à faire tourner le script sur NumWorks : nous n'avons ni assez de stockage (32K) ni assez de tas / heap pour créer un tel objet mémoire à l'exécution (32K).

Exclue également la TI-83 Premium CE Edition Python. Son tas / heap Python est encore pire avec moins de 17.5K. Quant au stockage, précisons que malgré les apparences il ne suffirait même pas à cause de deux contraintes :
  • si nous avons certes 3M de stockage en Flash, les scripts Python que l'on souhaite pouvoir exécuter doivent être mis en mémoire RAM - les ~150K peuvent certes être suffisants si la mémoire est assez vide...
  • mais ça ne marchera pas pour autant, car à l'exécution les scripts doivent être transférés dans la mémoire de stockage dédiée du coprocesseur Python, et qui elle fait moins que ça...

12513Bref, il suffit de remplacer comme indiqué la seule ligne d'importation from casioplot import * par from ppn import *, et ça marche directement sur TI-Nspire Ndless sans rien d'autre à modifier, aussi bien pour l'image que pour le texte décoré ! :bj:

Précisons que d'origine, le Micropython pour TI-Nspire Ndless ne dispose pas de fonction pour dessiner du texte à l'écran. Et c'est justement l'objet du dernier ajout majeur à PolyPyNet. ;)

Les 3 polices Casio Graph 90+E (petite, moyenne et large) ont été reproduites pixel par pixel, intégrées pour les scripts exécutés sur TI-Nspire Ndless et tkinter, et visiblement avec succès vu que l'on obtient bien le même effet visuel de contour sur le texte. :bj:

D'ailleurs tu noteras bien au passage que c'est la police (large) Casio que tu retrouves ici sur ta TI-Nspire au lieu de sa propre police, ainsi que sur tkinter. ;)



Niveau temps d'exécution avant affichage de la photo, nous avons :
  1. 2.43s : Graph 90+E
  2. 4.90s : TI-Nspire CX CR3-
  3. 5.28s : TI-Nspire CX CR4+

Rappelons toutefois qu'avec la bibliothèque ti_graphics du Python de la TI-83 Premium CE Edition Python 5.5, Texas Instruments est justement en train de préparer des fonctions dédiées qui permettront d'afficher et même travailler sur des images, malgré les diverses contraintes matérielles, conformément aux programmes de SNT et NSI ! :bj:

Téléchargements :

Crédits images : bande dessinée
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47%
 
Posts: 41934
Images: 15609
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Return to News Divers

Who is online

Users browsing this forum: No registered users and 6 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
774 utilisateurs:
>742 invités
>24 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)