Dans cet article je montrerai comment utiliser les scripts Dr. Geo II pour construire la courbe représentative d'une fonction, puis la tangente en
tout point de cette courbe. La logique de construction de la figure sera
indépendante de la fonction.
Cet article est intéressant à titre historique. L'approche qu'il présente est obsolète. Hilaire, février 2020.
La courbe représentative
On commence par construire un segment sur lequel on place un point mobile,
nommé 'move me'.
Ensuite nous définissons notre fonction à l'aide d'un premier script en
allant dans le menu Dr. Geo '
numerics>edit script
'. Pour
définir notre fonction nous pourrions définir un script avec comme argument une
abscisse mais cela ne serait pas pratique. Nous allons plutôt définir notre
fonction comme un bloc de code, c'est une spécialité de Pharo. Notre script
s'appelle maFonction
, c'est simplement la fonction
cosinus :
Nous définissons ensuite un deuxième script qui aura un argument, un point,
et qui retournera un autre point le projeté du premier sur la
courbe[1]. Pour calculer l'ordonnée de ce point nous
utilisons notre fonction définie précédemment :
Les scripts retournent un résultat par le mot clé '^
'.
Nous allons maintenant utiliser ce script pour afficher ces coordonnées dans
la figure. Pour cela nous utilisons la fonction '
numerics>use
script
' du menu Dr. Geo. Une boîte de dialogue s'affiche alors, elle
explique comment utiliser les scripts.
Pour tout script, après avoir
sélectionné les arguments dans la figure, il faut cliquer à l'emplacement où
nous souhaitons afficher la valeur retournée par le script. Pour chaque script
disponible, les commentaires des premières lignes de son code source sont
affichés et constituent une indication utile pour l'utilisateur :
Dans notre exemple, nous choisissons le script
pointM:
, nous
sélectionnons le point 'move me' de la figure comme argument, puis nous
cliquons à l'emplacement souhaité dans la figure pour afficher le résultat.
Nous construisons ensuite le point géométrique M avec comme coordonnées le
résultat du script. Il existe une fonction pour faire exactement cela avec Dr.
Geo: menu '
points>points defined by its coordinates'
. Le point
ainsi construit est un point de la courbe représentative de notre fonction,
pour avoir la courbe il nous suffit de demander le lieu de ce point M lorsque
le point 'move me' parcourt le segment. Cela nous donne la courbe :La tangente
Pour construire la tangente, nous calculons en premier lieu la pente en tout point de la courbe (nous supposons que notre fonction est continue). Pour ce faire nous définissons un script qui pour un point de la courbe retourne la pente, un réel :
Le
script pourra paraître étrange, en effet il n'y a pas de parenthèses autour de
la soustraction, Pharo n'utilise pas la priorité des opérateurs arithmétiques
mais celle des messages.
Nous utilisons ensuite ce script par le menu '
numerics>use
script
' avec comme argument notre point M de la courbe. Éventuellement
nous nommons 'pente' le résultat de ce script. Son affichage n'est pas
nécessaire pour la suite, mais permet simplement de rendre compte à
l'utilisateur de la valeur de la pente en M.
Pour construire notre tangente nous avons besoin de deux points. Nous avons
déjà le point M. Il nous faut un point N sur la tangente. Pour ce faire nous
définissons un script
pointN:
qui à partir du point M retourne les
coordonnées de ce point N :
Pour finir, à partir de ce dernier script, nous construisons les coordonnées
de ce point N dans la figure, puis le point N et enfant la tangente passant par
les points M et N. A propos de scripts utilisés dans une figure, Dr. Geo donne
pour chacun d'eux des informations sur leur nom et les arguments
utilisés :
On change de fonction
La conception proposée ci-dessus est indépendante de la fonction utilisée,
nous pouvons donc varier les plaisirs et définir diverses fonctions.
En définissant la fonction en x --> cos(4x) +sin(x) :maFonction
^ [:x | (x * 4) cos + x sin]
Cela nous donne la courbe suivante et bien sûr la tangente est toujours
correcte :
Ou bien x --> x * cos(x) :
maFonction
^ [:x | x * x cos]
Je ne sais pas vous, mais moi, j'aurais adoré faire mumuse avec ça au
lycée...
Notes
[1] Lorsque nous définissons un point, il faut l'entendre en tant qu'objet Point Pharo, c'est à dire un couple de coordonnées. En Pharo un Point peut se définir par54@45.2
.
Aucun commentaire:
Enregistrer un commentaire