Page 1 sur 1

Découverte module Python ce_quivr, TI-83 Premium CE 5.5

Message non luPosté: 18 Mai 2020, 22:29
de critor
Le programme de Physique-Chimie de Seconde indique d'aborder divers tracés en Python :
  • nuages de points
  • histogrammes
  • positions successives d'un système modélisé par un point
  • vecteurs vitesse associés à chacun de ces points

Dans sa prochaine mise à jour 5.5 gratuite prévue pour Mai 2020, Texas Instruments rajoute de formidables possibilités historiques à la TI-83 Premium CE, et en profite pour palier ces nouveaux besoins.

Nous avions déjà vu la possibilité de tracer des nuages de points à l'aide du nouveau module Python ti_plotlib.

Mais qu'en est-il par contre des diagrammes permettant l'étude du mouvement d'un système ponctuel, et plus généralement la représentation de diagrammes utilisant des champs de vecteurs ?

Et bien ici encore, Texas Instruments a tout prévu. Cela se passe ici avec ce_quivr, un module complémentaire pour l'application Python.

En voici les menus ci-contre, difficile de faire plus simple.

Une seule et uniquement fonction à apprendre donc, quiver(x, y, u, v, éch, "couleur", type="vector"), avec :
  • (u,v) les coordonnées du vecteur à tracer
  • (x,y) les coordonnées du point où tracer le vecteur en question
  • éch, l'échelle spécifique à utiliser pour le tracé du vecteur, particulièrement utile dans le contexte d'un diagramme et donc d'autres éléments présents à l'écran, avec le champ de vecteurs qui pourrait souffrir de diverses superpositions
  • type, le type valant par défaut "vector" pour la représentation d'un vecteur et donc le tracé d'une flèche, ou sinon "line" pour un simple segment
    quiver(x, y, u, v, 1, "couleur", "line") est donc à la couleur près équivalent à ti_plotlib.line(x, y, x + u, y + v)

Découvrons cela de suite à travers quelques exemples.

Voici pour étudier un mouvement rectiligne qui semble alors uniformément accéléré :
Code: Tout sélectionner
import ti_plotlib as plt
from ti_system import *
from ce_quivr imort *

#Les fonctions
def calc_vitesses(absc, temps):
  v = []
  for n in range(len(absc) - 1):
    v.append((absc[n + 1] - absc[n]) / (temps[n + 1] - temps[n]))
  temps = temps[:-1]
  return v, temps

def rep_vitesses(absc, vitesses):
  for i in range(len(vitesses)):
  quiver(absc[i], 0, vitesses[i], 0, 0.06, "b", "vector")

#Le programme
plt.cls()
plt.title("Etude du MRUA")
plt.window(-0.2, 1.2, -1, 1)
x = recall_list("2")
t = recall_list("1")
v, temps_v = calc_vitesses(x, t)
rep_vitesses(x, v)
plt.show_plot()


Et maintenant pour l'étude d'un mouvement à une dimension sur un axe :
Code: Tout sélectionner
import ti_plotlib as plt
from ce_quivr import *

fx = lambda x: x**3 - 4*x**2 + 3*x - 2
dx = lambda x: 3*x**2 - 8*x + 3
d2x = lambda x: 6*x - 8

def motion(min, max, n):
  dt = (max-min) / n
  t = min
  for i in range(n):
    quiver(t, fx(t), t+dt, fx(t+dt), 1, 'blk', 'line')
    if i % 7 == 0:
      quiver(t, fx(t), 0, dx(t), .4, 'r', 'vector')
      quiver(t, fx(t), 0, d2x(t), .4, 'b')
    t += dt

plt.window(-.25, 4, -5, 7)
plt.cls()
plt.title('Motion in one Dimension')
plt.color(0, 0, 0)
plt.axes('on')
plt.labels('Time', '   X Position     ', 7, 3)
motion(0, 4, 49)
plt.show_plot()

Tuto-vidéo : utilisation du module complémentaire ce_quivr