Page 3 sur 3

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 27 Aoû 2021, 18:47
de parisse
oui, c'est pareil, c'est un module ecrit en Python, et pas un module natif ecrit en C.

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 07:51
de parisse
Je mets a jour KhiCAS avec 2 changements:
1/ une correction sur le trace de segment avec epaisseur: les 2 disques traces a la fin avaient un rayon de l'epaisseur/2, je change en (epaisseur-1)/2 sinon ca depasse pour des epaisseurs paires a cause de la discretisation (ca se voit en particulier s'il y a beaucoup de petits segments). C'est peut-etre la raison du defaut signale par critor.
2/ une optimisation sur la place necessaire pour 1 mouvement de tortue (40 au lieu de 48 bits). J'ai diminue legerement la taille du heap MicroPython et QuickJS sur Nspire (1728K maintenant), du coup je passe le nombre maximal de mouvements tortue sur la Nspire a 4096 au lieu de 2048.

Je reviens sur le point 2, conserver l'ensemble des mouvements de la tortue pour pouvoir l'afficher me parait vraiment important, car cela permet de voir a tout moment quel etait le graphique de la tortue lorsqu'on modifie son script, *sans avoir besoin de le reexecuter* (il suffit de taper sur la touche ans depuis l'editeur). Sur les autres implementations, je pense qu'ecrire son script sur la calculatrice est beaucoup plus difficile. Et qu'en fait la calculatrice va etre utilisee uniquement pour executer le script qui a ete concu sur PC. Or l'interet de la programmation sur la calculatrice c'est a mon avis precisement de pouvoir ecrire/tester/executer directement sur la calculatrice.

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 08:38
de critor
Bonjour, merci.

Les tracés inachevés vont maintenant nettement plus loin :


Je ne note pas de différence sur l'épaisseur du tracé.
C'est comme si .pensize(1) était ignoré ou intercepté, l'épaisseur de 1 étant jugée comme trop faible.

Sur le heap je ne suis pas sûr d'avoir tout saisi :
  • on serait par défaut à 2000K
  • alors que les valeurs autorisées ne vont que de 64K à 1728K
  • et en prime si je baisse à 1728K la calculatrice plante immédiatement

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 08:46
de critor
Et je ne détecte que dans les 1000K de heap en Python, rien à voir avec les 2000K indiqués dans les menus :

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 09:30
de parisse
Les 2000k, c'est surement parce que votre configuration anterieure est utilisee. Je vais desactiver le reglage sur Nspire, ca provoque en effet des plantages si on change.
Je ne vois pas de problemes pour pensize(1), ca me fait bien des traces d'epaisseur 1 apres. Est-ce que vous avez une suite de commandes (si possible simples) mettant en evidence un probleme?

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 09:51
de critor
Merci.

C'est peut-être la façon de tracer les segments en fait.
Tous les exemples de l'article me donnent ce qui semble être un tracé épais.

Mais en fait je remarque que cela ne semble concerner que les segments qui ne sont ni horizontaux ni verticaux :
Image

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 10:18
de parisse
Effectivement, il semble qu'il y a une epaisseur de 1 de trop.
C'est la fonction de trace de pixel qui pose probleme, je l'emule avec un rectangle de parametres w=1 et h=1
Code: Tout sélectionner
void os_set_pixel(int x,int y,int c){
  get_gc();
  gui_gc_setColor(nspire_gc,c_rgb565to888(c));
  gui_gc_drawRect(nspire_gc,x,y+nspire_statusarea,1,1);
}

avec void gui_gc_drawRect(Gc, int x, int y, int w, int h) - Draws an empty rectangle at <x,y> of size <w,h>

Je vais voir ce que ca donne en mettant 0,0 au lieu de 1,1

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 28 Aoû 2021, 10:51
de parisse
Ca marche avec 0,0. Donc les traces devraient maintenant avoir la bonne epaisseur.

N.B.: pour avoir les bons parametres pour le tas Python, le plus simple est d'effacer session.xw dans le repertoire Xcas de la nspire.

Re: QCC 2021 Universel épisode 10: Python turtle + compatibi

Message non luPosté: 19 Jan 2022, 23:01
de critor
Nouveaux tests plus à jour :
viewtopic.php?f=41&t=25443&p=266282#p266261