Page 1 sur 2

Firmware 1.8 tiers améliorant Python (turtle/time/kandinsky)

Message non luPosté: 10 Nov 2018, 14:39
de critor
Pour la rentrée 2019, selon le nouveau programme de
Physique-Chimie
de la
Seconde Générale et Technologique
, il faudra programmer des tracés en langage
Python
:
  • mouvement plan d'un objet ponctuel
  • nuage de points
  • vecteurs vitesse et variations

9889Afin de mieux répondre à la problématique du tracé de vecteurs dans la continuité des acquis de collège,
a sorti un module
Python turtle
pour ta calculatrice.

diffuse aujourd'hui une deuxième version de son module
Python turtle
pour calculatrice
NumWorks
.

Dans la première version, le module avait été implémenté en
C++
. Cette fois-ci, Jean-Baptise implémente la tortue directement en
Python
.

98949893Amélioration fort appréciable, cette nouvelle version permet à la différence d'interrompre à tout moment le tracé avec la touche d'annulation.
Finis les resets te faisant perdre le contenu mémoire face à une boucle qui ne se terminait pas !
:bj:

Mais ce qu'il y a de bien avec cette nouvelle version, c'est que les améliorations ne se limitent pas à la sphère
turtle
. ;)
Cette dernière fonctionnalité justement a nécessité l'inclusion du module
time
par , et que tu es donc parfaitement libre de réutiliser pour autre chose ! :bj:

9895Enfin, notons également une amélioration du module graphique
kandinsky
, avec l'ajout des fonctions draw_line(x1,y1,x2,y2,color) et fill_rect(x,y,w,h,color) pour faciliter grandement les tracés de lignes surtout dans les cas non horizontaux/verticaux et tracés de rectangles pleins sans avoir à se taper de boucles à chaque fois ! :bj:

Attention au fait que le firmware diffusé par Jean-Baptiste dans ce contexte est basé sur l'état actuel du code source public de la calculatrice
NumWorks
, et que celui-ci est actuellement en phase bêta de la future version
1.8.0
. Des problèmes peuvent donc apparaître même en dehors des points évoqués; il t'est déconseillé de l'installer si tu as de prochains rendez-vous importants
(DS, examens, concours...)
. :#non#:


Téléchargement
:
firmware
1.8.0 bêta
précompilé avec ces améliorations
(installable facilement via web-dfu-util )

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 10 Nov 2018, 16:09
de parisse
Un peu dommage de ne pas avoir la meme commande pour le rectangle que dans KhiCAS sur Graph 90+e, a savoir draw_rectangle(x,y,w,h,c) avec c=couleur ou c=couleur+filled si on veut remplir le rectangle (ca peut aussi etre utile de tracer des rectangles non remplis!).

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 10 Nov 2018, 16:42
de jean-baptiste boric
parisse a écrit:Un peu dommage de ne pas avoir la meme commande pour le rectangle que dans KhiCAS sur Graph 90+e, a savoir draw_rectangle(x,y,w,h,c) avec c=couleur ou c=couleur+filled si on veut remplir le rectangle (ca peut aussi etre utile de tracer des rectangles non remplis!).

Je m'étais référé à ce qui s'était dit là, même si ça commence à dater : https://github.com/numworks/epsilon/iss ... -387158097. On peut ajuster si besoin est, mais faudrait faire une passe sur les primitives graphiques afin de se mettre d'accord sur tous les points.

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 10 Nov 2018, 18:48
de parisse
Je peux aussi changer sur la Casio, mais ce serait bien de se mettre d'accord. J'ai choisi de nommer toutes les commandes avec le prefixe draw_ ce qui les groupe dans le(s) catalogue(s):
draw_arc(x1,y1,rx,ry,theta1,theta2,c)
draw_circle(x1,y1,r,c)
draw_line(x1,y1,x2,y2,c)
draw_polygon([[x1,y1],...],c)
draw_rectangle(x,y,w,h,c)
draw_string(s,x,y,c)
La couleur c est facultative, elle est stockee sur 16 bits, en y ajoutant +filled on remplit les formes fermees, filled vaut 2^30.

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 11 Nov 2018, 13:52
de matheod2
Je préfère x1,y1,x2,y2 à x1,y1,w,h

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 11 Nov 2018, 14:21
de Adriweb
On pourrait s’inspirer de https://wiki.inspired-lua.org/Category:gc

D’ailleurs je préfère w et h :p

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 11 Nov 2018, 15:36
de jean-baptiste boric
Ça va être vite tranché : je ne suis pas fan des x2/y2 pour le rectangle, l'API Lua des Nspire n'est pas stateless contrairement à celle existante de NumWorks, accoler 2^30 à un paramètre désignant une couleur 16 bits c'est quand même un peu moche et fill_rect c'est plus court que fill_rectangle. 0:]

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 11 Nov 2018, 15:39
de Adriweb
Pour l'inspiration, je parlais des fonctions disponibles et de leurs arguments - mais en effet, toutes ne s'appliquent pas :P

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 11 Nov 2018, 17:34
de parisse
2^30 n'est pas rentre tel quel, mais sous forme de la constante symbolique filled (par exemple draw_rectangle(100,100,50,30,red+filled). Ceci existe dans Xcas depuis tres longtemps pour toutes les commandes graphiques reperees (par opposition aux commandes graphiques pixelisees) donc aussi dans KhiCAS, par exemple circle(0,1,display=red+filled), je ne peux pas changer tout ca, d'abord parce que ca demanderait beaucoup plus de travail que pour quelqu'un qui fait du nouveau code, mais surtout parce que ca casserait du code existant.
Je suis pret a faire quelques modifications, par exemple je n'ai rien contre ajouter une commande fill_rect en plus de draw_rectangle, mais si on veut converger vers une base interoperable, ce serait agreable que les modifications ne soient pas a sens unique (j'ai un peu l'impression de subir un certain imperialisme la, deja que depuis 1 an je me tape de la compatibilite avec Python, ca commence a bien faire).

Re: Firmware 1.8 tiers améliorant Python (turtle/time/kandin

Message non luPosté: 12 Nov 2018, 14:33
de parisse
Les commandes actuelles vues depuis Xcas pour Firefox
session Xcas
clear() et show_pixels() ne s'utilisent que dans Xcas pour Firefox, pas sur la Casio Graph 90+e.