π
<-
Chat plein-écran
[^]

Axes orthonormés?

Axes orthonormés?

Unread postby christian.mercat » 12 Dec 2023, 12:26

Bonjour tout le monde,
Je suis nouveau sur ce forum et sur numworks. J'en suis très content, en particulier parce qu'elle est disponible aux oraux du concours du CAPES, ce qui me parait le plus simple pour écrire du python facilement, et aussi pour mettre à disposition des élèves du code python jouable sans rien installer ni aucune identification, avec l'émulateur. J'aime vraiment aussi pouvoir installer sur ma calculatrice des scripts directement depuis mon téléphone en USB-C au travers de chrome, sans ordinateur, c'est vraiment simple pour distribuer un script dans la classe à tous les heureux possesseurs de la calculatrice.

Mon petit problème actuel: comment forcer les axes à être orthonormés à l'intérieur de python? Je veux dessiner des carrés.
matplotlib.pyplot a la fonction axis('equal') mais qui n'est pas reconnue dans micropython NumWorks.
mon code

Merci, cordialement, Christian Mercat
Master MEEF Math
Directeur adjoint de l’IREM de Lyon
Université Claude Bernard Lyon 1
21 avenue Claude Bernard
69622 Villeurbanne cedex
⏚ La science est claire / #ScienceIsClear
User avatar
christian.mercat
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 0%
 
Posts: 2
Joined: 12 Dec 2023, 12:16
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Master MEEF
GitHub: ChristianMercat

Re: Axes orthonormés?

Unread postby critor » 12 Dec 2023, 12:52

Bonjour.

Si axis("equal") n'est pas encore supporté sur NumWorks, je ne connais que l'astuce de tenir compte de la taille de la zone d'affichage graphique offerte aux scripts Python.
Sur NumWorks elle est très exactement de 320×222 pixels.

Voici par exemple une fonction à qui l'on communique les 4 bornes de la fenêtre matplotlib (xmin, xmax, ymin, ymax), et qui tient compte du rapport de la zone graphique pour déterminer l'une de ces bornes en fonction des autres.
Dans mon cas, la borne à déterminer est à passer avec une valeur de None.
Code: Select all
def orthon(xmin, xmax, ymin, ymax):
  L_ECRAN, H_ECRAN = 320, 222
  if xmin is None:
    xmin = xmax - (ymax - ymin) * L_ECRAN / H_ECRAN
  elif xmax is None:
    xmax = (ymax - ymin) * L_ECRAN / H_ECRAN + xmin
  elif ymin is None:
    ymin = ymax - (xmax - xmin) * H_ECRAN / L_ECRAN
  else:
    ymax = (xmax - xmin) * H_ECRAN / L_ECRAN + ymin
  return (xmin, xmax, ymin, ymax)


Exemple d'utilisation :
Code: Select all
from matplotlib.pyplot import *

plot([i for i in range(8)])
axis(orthon(-3,10,-3,None))
show()


Et une capture de ce que ça donne :
Image
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 42%
 
Posts: 41486
Images: 14542
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Axes orthonormés?

Unread postby christian.mercat » 12 Dec 2023, 13:38

Merci critor, c'est exactement ce dont j'avais besoin!
Master MEEF Math
Directeur adjoint de l’IREM de Lyon
Université Claude Bernard Lyon 1
21 avenue Claude Bernard
69622 Villeurbanne cedex
⏚ La science est claire / #ScienceIsClear
User avatar
christian.mercat
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 0%
 
Posts: 2
Joined: 12 Dec 2023, 12:16
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Master MEEF
GitHub: ChristianMercat

Re: Axes orthonormés?

Unread postby cent20 » 02 Mar 2024, 21:13

christian.mercat wrote:Bonjour tout le monde,
Je suis nouveau sur ce forum et sur numworks. J'en suis très content, en particulier parce qu'elle est disponible aux oraux du concours du CAPES, ce qui me parait le plus simple pour écrire du python facilement, et aussi pour mettre à disposition des élèves du code python jouable sans rien installer ni aucune identification, avec l'émulateur. J'aime vraiment aussi pouvoir installer sur ma calculatrice des scripts directement depuis mon téléphone en USB-C au travers de chrome, sans ordinateur, c'est vraiment simple pour distribuer un script dans la classe à tous les heureux possesseurs de la calculatrice.


Je suis ravi de te retrouver ici ! (avant je suivais tes posts sur X, mais la toxicité du réseau fait fuir les meilleurs :? )
Le fonctionnement USB-C vers calculatrice fonctionne si la calculatrice est une N0100, N0110 (Micro USB coté calculatrice) et une N0115 N0120 (USB-C coté calculatrice) ?
Mes tests avaient été concluant sur micro usb, mais j'ai eu pendant 2 ans un iphone, et cela ne fonctionnait pas sur Ios :(

Ceci dit je n'ai pas retesté depuis 2 ans. :)

christian.mercat wrote:Merci critor, c'est exactement ce dont j'avais besoin!


Oui il est fort ce critor, il sait tout sur tout ! Je n'aurais pas proposé une meilleur solution, je n'aurais juste pas mis de maj dans le nom des variables :troll:
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 46%
 
Posts: 1012
Images: 64
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz


Return to Programmation Python

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
1173 utilisateurs:
>1133 invités
>35 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)