Page 1 of 1

Animation Radar Python avec adaptation écran automatique

Unread postPosted: 31 May 2020, 20:31
by critor
Dans deux articles précédents, nous abordions le sujet d'une animation de radar initialement codée en Python pour Casio Graph 90+E, et de sa compatibilité avec l'ensemble des pythonnettes à l'aide de notre bibliothèque de compatibilité automatique PolyPyNet.

Juste à changer 1 ligne d'importation, et le script se mettait alors à marcher tout seul sur tous les modèles ! :bj:

12509Toutefois, les différents modèles ont des définitions d'écran différentes, et là pas de magie :


Effectivement, le script initial utilisait en dur les dimensions de la zone graphique Casio Graph 90+E, à savoir 384×192 pixels.

Une solution existe dans PolyPyNet, encore faut-il que l'auteur du script pense à l'utiliser dès le départ. A savoir les variables globales ppn_w et ppn_h qui indiquent les dimensions de la zone graphique.

Nous avons donc remplacé les différentes valeurs en dur par des appels à ces variables, et maintenant le même script tourne sur les différents modèles en s'adaptant automatiquement aux dimensions de l'écran ! :bj:
Nous avons même pu gérer au passage un affichage monochrome sur Casio Graph 35+E, en testant la variable globale ppn_has_color ! :D

Pour TI-83 Premium CE Edition Python, nous te conseillons toutefois de continuer à télécharger la version dédiée ci-après.

En effet d'une part le tas / heap Python extrêmement limité (à peine plus de 17K avant importation du module graphique) suffit à peine pour ce script, et donc autant s'affranchir de la taille mémoire occupée par la couche de compatibilité.

D'autre part, l'architecture particulière coprocesseur Python ↔ processeur eZ80 ↔ contrôleur écran est un autre facteur très limitant, avec au mieux dans les 49 événements écran par seconde.

Les boucles d'appel de setPixel() déclenchant autant d'événements de rafraîchissement que d'itérations, y sont remplacées à chaque fois que possible par les fonctions de tracé de primitives offertes à cette fin par le module ti_graphics, permettant le même rendu mais avec un seul événement matériel.

Téléchargements :

Re: Animation Radar Python avec adaptation écran automatique

Unread postPosted: 31 May 2020, 23:39
by cent20
Ça donne quoi les performances de cette version optimisée ? C’est fluide ?

Re: Animation Radar Python avec adaptation écran automatique

Unread postPosted: 31 May 2020, 23:59
by marcel_p82
Bonjour!
Cette animation ma inspirée pour le jeu SONAR sur TI-Nspire CX II!
Marcel

Re: Animation Radar Python avec adaptation écran automatique

Unread postPosted: 01 Jun 2020, 17:57
by critor
Oui, j'ai vu passer. Rares sont les jeux à ce jour utilisant les nouvelles possibilités graphiques du TI-Basic Nspire en version 5.0+, et c'est d'autant plus remarquable. :)

Je ne manquerai pas d'en parler à l'occasion. ;)

Re: Animation Radar Python avec adaptation écran automatique

Unread postPosted: 01 Jun 2020, 18:56
by critor
cent20 wrote:Ça donne quoi les performances de cette version optimisée ? C’est fluide ?

Pas de changement de complexité, donc c'est comme la dernière fois.