π
<-
Chat plein-écran
[^]

Afficheur d'image Python pour Casio/Nspire via PolyPyNet

Online

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: 6%
 
Posts: 35489
Images: 9480
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Return to News Divers

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Featured topics
L'OS 5.5 de la TI-83 Premium CE / 84 Plus CE supprime l'assembleur - la plupart des jeux et certains programme ne fonctionneront plus
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Comparaisons des meilleurs prix pour acheter sa calculatrice !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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.
630 utilisateurs:
>621 invités
>4 membres
>5 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)