8. Tracer - math

Dans ce chapitre nous allons découvrir comment nous pouvons tracer des fonctions mathématiques pour les visualiser. Le module math met à disposition toute une série de constantes et de fonctions mathématiques. Nous allons explorer :

  • les fonctions trigonométriques sin(), cos() et tan(),

  • la fonction exponentielle exp(),

  • la fonction logarithmique log().

Question

Le module math met à disposition




8.1. Tracer une fonction

Pour donner une idée de ce que nous allons faire, voici tout de suite un exemple de comment tracer les deux fonctions trigonométriques sin() et cos().

Au début du programme nous importons le module math. Par la suite nous pouvons accéder aux nouvelles fonctions importées math.sin() et math.cos().

Dans l’intervalle [-300, 300] nous prenons une valeur tous les 10, ce qui nous fait 60 valeurs.

Pour adapter la fonction à l’échelle de la tortue nous changeons :

  • x par un facteur de 50,

  • y par un facteur de 100.

Exercice : Modifiez couleur, amplitude, fréquence ou nombre de points de la courbe.

8.2. Importer un module

Le mot-clé import permet d’importer un module. Normalement c’est dans la première ligne d’un programme qu’on importe un module. La fonction dir() permet de voir le contenu du module.

Exercice : Importez le module random et affichez son contenu avec dir.

8.3. Format module.objet

Pour utiliser un objet d’un module importé, il faut écrire de façon module.objet

  • le nom du module

  • le point . (dot)

  • le nom de l’objet

Par exemple math.pi pour la constante \(\pi\). Voici quelques exemples.

Exercice : Essayez la fonction pow() (puissance) et affichez le résultat.

8.4. Constantes

Avec l’expression from module import obj1, obj2 nous pouvons explicitement importer des objets par nom.

Ceci nous permet de directement accéder à l’objet sans ajouter le nom du module. Nous pouvons donc écrire directement pi au lieu de math.pi.

Le module math contient 5 constantes:

  • e base des logarithmes naturels (nombre d’Euler)

  • inf symbole pour infinité

  • nan symbole pour not a number

  • pi rapport de la circonférence d’un cercle à son diamètre

  • tau rapport de la circonférence d’un cercle à son rayon

Exercice : Vérifiez de façon numérique que \(2\pi = \tau\).

8.5. Fonction trigo

Voici les fonctions trigonométriques:

  • sin/cos fonction sinus/cosinus

  • sinh/cosh fonctions sinus/cosinus hyperboliques

  • tan/tan2 fonction tangente avec 1 ou 2 arguments

  • tanh fonction tangente hyperbolique

Et leurs fonctions inverses (arc):

  • asin/asinh

  • acos/acosh

  • atan/atanh

Dorénavant nous utilisons l’expression from math import * pour importer tous les objets du module math. Le symbole * représente tous les objets.

Exercice : Ajoutez et tracez une deuxième fonction trigonométrique dans une autre couleur.

8.6. Afficher les axes

Dessinons aussi des axes, nous allons utiliser la fonction stamp pour dessiner la flèche de l’axe.

Nous pouvons re-écrire le code de façon plus court et plus lisible en définissant une fonction axe().

Cette fonction utilise deux paramètres p et q qui sont un tuple qui représente^ les coordonnées du point de départ et du point d’arrivée.

8.7. Afficher une grille

Avec multiples lignes horizontales et verticales nous dessinons une grille.

En définissant la fonction ligne() nous pouvons rendre le programme plus lisible.

Exercice : Mettez la distance d à 20 et à 10 et réexécutez le programme.

8.8. Echelle

8.9. Tracer des fonctions

Voici du code à développer.

8.10. arc tangente

8.11. Équation de 2e degré