Quelques petits rappels de trigonométrie...

Détacher l'animation de la page web...

Nous allons faire ici quelques petits rappels sur les fonctions trigonométriques. Même si celles-ci ont laissé de désagréables souvenirs à certains.
En effet, il ne s'agit pas ici de refaire des mathématiques pour elles-mêmes. Mais ces fonctions sont des OUTILS précieux pour résoudre quantité de problèmes graphiques de géométrie plane (et la scène de Director, ou une page web, ou une animation Flash sont toutes construites sur des plans et posent donc assez souvent ces problèmes de géométrie plane !).

- Lorsqu'un point parcourt un cercle,
- Si on prend comme axe des x et des y les deux diamètres, horizontal et vertical du cercle,
- Si on regarde l'angle que forme le rayon du cercle partant du point avec l'axe des x et que l'on appelle cet angle a,

Alors les coordonnées x et y du point sur les axes représentent chacune une fonction que l'on appelle "trigonométrique" (nous verrons ci-dessous pourquoi ce nom).

- sur l'axe des x on trouve la réprésentation du cosinus de l'angle, que l'on note cos(a),
- sur l'axe des y, on trouve la représentation du sinus de l'angle, que l'on note sin(a).

On utilise quelques conventions pour cela :
- pour lire directement le cosinus et le sinus de l'angle sur l'axe des x et des y respectivement, on considère que le rayon du cercle vaut 1 (nous verrons également pourquoi plus bas),
- le cercle de rayon 1 ainsi constitué s'appelle le "cercle trigonométrique",
- toujours conventionnellement, on considère que l'angle vaut 0 quand le point se trouve sur l'axe des x, du coté positif. Le sinus vaut alors 0 et le cosinus vaut 1.
- et on considère que l'angle est croissant quand le point tourne sur le cercle dans le sens inverse des aiguilles d'une montre (que l'on appelle aussi le sens "antihoraire" ou sens trigonométrique).

Faisons une autre constatation :
si on regarde la figure formée en permanence par :
- le rayon du cercle qui passe par le point,
- l'axe des x,
- l'axe des y,
on s'aperçoit que l'on a toujours un rectangle composé de deux triangles rectangles symétriques (un triangle rectangle est un triangle dont l'un des angles est droit, c'est à dire qu'il vaut 90 °).

Maintenant, ignorons, dans le premier demi-cercle (supérieur), le triangle rectangle supérieur pour ne nous intéresser qu'au triangle rectangle inférieur.

Toujours en regardant l'angle formé par le rayon et l'axe des x comme signalé auparavant, on s'aperçoit que le sinus de l'angle est également représenté par le segment vertical passant par le point et croisant l'axe des x.

Si l'on ne regarde que le triangle (et qu'on ignore désormais le cercle), on peut donc dire que :
- le cosinus d'un angle est représenté par son coté adjacent,
- le sinus d'un angle est représenté par son coté opposé.

Intéressons nous maintenant au troisième coté du triangle. Qui est aussi, dans notre figure, le rayon du cercle... On l'appelle l'hypothénuse.

Dans un triangle réel (et non plus conventionnel comme nous l'avons utilisé pour construire nos deux fonctions), cette hypothénuse ne vaudra pas 1, mais un certain nombre de centimètres par exemple (sur le papier), ou un certain nombre de pixels (sur l'écran).

La valeur du cosinus sera alors : coté adjacent / hypothénuse,
La valeur du sinus sera alors : coté opposé / hypothénuse.
(les cotés et l'hypothénuse étant bien sûr mesurés dans la même unité).

Et en effet, regardons ce qui se passe lorsque le triangle est plat, c'est à dire :

- quand l'angle vaut 0 °:
le coté adjacent et l'hypothénuse sont égaux donc
cosinus = coté adjacent / hypothénuse = 1
par ailleurs, le coté opposé vaut 0 donc
sinus = coté opposé / hypothénuse = 0

- quand l'angle vaut 90 ° (le 1/4 de cercle) :
c'est cette fois le coté opposé et l'hypothénuse qui sont égaux, donc
sinus = coté opposé / hypothénuse = 1
et le coté adjacent vaut 0 donc
cosinus = coté adjacent / hypothénuse = 0

- quand l'angle vaut 180 ° (le 1/2 cercle) :
le coté adjacent et l'hypothénuse sont de nouveau égaux mais cette fois le coté adjacent est négatif (puisque situé à gauche de l'axe des y) donc
cosinus = -coté adjacent / hypothénuse = -1
et le coté opposé vaut à nouveau 0 donc
sinus = coté opposé / hypothénuse = 0

- quand l'angle vaut 270 ° (les 3/4 de cercle) :
le coté opposé et l'hypothénuse sont égaux, mais cette fois c'est le coté opposé qui est négatif (puisque en dessous de l'axe des x) donc
sinus = -coté opposé / hypothénuse = -1
et le coté adjacent vaut 0 donc
cosinus= coté adjacent / hypothénuse = 0

Tous le reste du temps, on voit que l'hypothénuse est toujours plus grande que les deux cotés du triangle rectangle et donc la valeur de ces deux fonctions, en valeur absolue, sera toujours inférieure à 1. D'ailleurs, dans un cercle, l'hypothénuse est constante, puisque c'est le rayon du cercle.

On voit donc que ces deux fonctions servent à calculer différentes valeurs du triangle quand on en connaît d'autres (calculer des cotés quand on connaît des angles ou vice-versa). On appelle ces opérations "résoudre un triangle" et on comprend pourquoi ces fonctions s'appellent "trigonométriques" : elles servent à mesurer ("mètrer") un polygone à 3 cotés, c'est à dire un trigone, c'est à dire, plus usuellement, un triangle.

Cette capacité à pouvoir calculer les différents rapports des éléments d'un triangle rectangle entre eux est précieuse.
En effet, en général, quelle que soit la configuration de géométrie plane devant laquelle on se trouve, on peut toujours la décomposer en plusieurs triangles rectangles et utiliser les fonctions trigonométriques (on dit aussi "lignes trigonométriques") pour calculer la valeur que l'on cherche à connaître. Soit que l'on connaisse un angle (une direction...) et que l'on souhaite connaître une distance, ou l'inverse, quand on connaît la position de différents points dans le plan, et que l'on souhaite connaître les angles qu'ils peuvent former entre eux.
C'est la première utilité des fonctions trigonométriques.

Une autre utilité de ces fonctions est de pouvoir imposer à un objet un mouvement courbe quasi-quelconque, du cerlce parfait aux trajectoires les plus biscornues !
En effet, on voit, d'après notre cercle trigonométrique, que si l'on dit à un point :
- que sa position horizontale (son locH en lingo) est égal à (un rayon x le cosinus d'un angle),
- que sa position verticale (son locV) est égale à (un rayon x le sinus d'un angle),
et que l'on fait varier la valeur de cet angle dans le temps, alors le point va se mettre à décrire une trajectoire circulaire.
Et dans ce cas, l'angle dont on va prendre les sinus et cosinus est une simple valeur numérique interne au script, et que le script incrémentera en permanence. Plus on incrémentera l'angle rapidement, et plus le point tournera vite !).

Par ailleurs, si on prend deux valeurs différentes, pour le rayon horizontal et pour le rayon vertical, alors on obtiendra une ellipse...
Et en mélangeant toutes ces fonctions avec divers paramètres qui évoluent dans le temps, avec différents angles qui varient aussi dans le temps avec des rythmes différents, alors on obtiendra des figures très curieuses (voir section "courbes" sur ce site).

Voyons maintenant quelques autres propriétés intéressantes et utiles de ces fonctions trigonométriques.

Elles sont périodiques :

Sur le cercle trigonométrique, on voit que lorsque le point a décrit le cercle entier, c'est à dire quand l'angle arrive à une valeur de 360 ° (ou 2p radians), tout recommence comme si on repartait de 0. Ce qui veut dire que 360 est équivalent à 0, 361 est équivalent à 1, etc... et que 450 équivaut à 90 (450 = 360 + 90).

En terme de trigonométrie, demander le sinus d'un angle de 1 477 ° par exemple revient à la même chose que demander le sinus d'un angle de 37 ° (parce que 1477 = (4 x 360) + 37).

Autrement dit, si notre angle est un compteur éternellement incrémenté de 1, le sinus et le cosinus donneront éternellement la même série de valeurs, comprises entre +1 et -1 (en comptant en degrés).

On le voit sur les courbes à droite de l'animation : on reporte l'angle qui croît sur l'axe des x (et on peut dire alors que cet angle représente le temps qui passe), et on reporte les valeurs du sinus et du cosinus sur l'axe des y. On obtient alors la forme caractéristique d'une courbe qu'on appelle sinusoïde ou courbe sinusoïdale.

Que constate-t-on ?
- que cette forme se répète éternellement dans le temps,
- que le sinus et le cosinus décrivent des valeurs égales, mais décalées dans le temps. On dit qu'elles sont "déphasées" de 90 °.

D'une manière générale, toute fonction que l'on construira avec des sinus et des cosinus, en les additionnant ou en les soustrayant, en les multipliant ou en les divisant entre eux, sera toujours périodique, avec des formes plus ou moins complexes.

Tout mouvement répétitif pourra donc toujours être modélisé à l'aide de fonctions sinusoïdales (c'est du reste ce que nous avons fait avec le pendule).

En outre, si on complexifie suffisament l'équation, en employant une combinaison de sinus et de cosinus, avec des coefficients différents, et des angles qui varient dans le temps à des vitesses différentes dans le temps, alors on obtiendra assez rapidement des mouvements qui pourront paraître erratiques, alors qu'ils seront en fait périodiques, et qui pourront être interessants graphiquement (voir un exemple de "menu" fantaisiste).

Forme de la variation des fonctions sinusoïdales dans le temps :

En regardant ces courbes, on voit qu'elles varient très vite au voisinage de 0, et très lentement au voisinage de leurs maximum et minimum.
Cette propriété est intéressante graphiquement.
Un mouvement modélisé à l'aide d'une fonction sinusoïdale paraîtra toujours très souple, sans à-coup, sans rupture, presque organique.
Pour faire apparaître un menu déroulant par exemple, une incrémentation simple sera brusque, alors qu'une incrémentation sinusoïdale sera souple et élégante, comme amortie.

Propriété des fonctions sinusoïdale dans les calculs :

Il existe une troisième ligne trigonométrique dont nous n'avons pas encore parlé. Il s'agit de la tangente.
Elle est représentée en jaune dans l'animation. Elle se comporte un peu différemment des deux premières.
En effet, la tangente est représentée par la projection du point sur la tangente verticale au cercle, au point où l'angle vaut 0. De ce fait, on voit que lorsque l'angle vaut 90 ° ou 270 °, alors le rayon qui passe par le point se retrouve parallèle à cette tangente, et la valeur de la fonction vaut alors +l'infini (à 90 °) ou -l'infini (à 270 °).
En effet, comme deux parallèles ne se rencontrent jamais, la projection du point sur cette tangente se retrouve rejeté à l'infini, vers le haut ou vers le bas.
On est donc bien en présence d'une fonction périodique, mais il existe deux valeurs d'angle pour lesquelles elle ne peut pas être utilisée dans les calculs (en fait, on peut tout de même parce que Lingo ne renvoie pas la valeur INF si on lui demande la tangente de p/2, mais une valeur très grande de 1,63317787283838 x 1016).

Une de propriétés intéressante de la tangente, est qu'elle vaut sin / cos.
tan = sin / cos
et comme on se souvient de ce que valent les sinus et cosinus en rapport de coté, on peut aussi dire
que
tan = coté opposé / coté adjacent

Ceci nous amène à la notion de fonction trigonométrique inverse.
En effet, jusqu'ici, nous avons pris un angle, et ensuite nous avons calculé son sinus, son cosinus ou sa tangente.
Mais que se passe-t-il si nous connaissons le sinus, ou le cosinus, ou la tangente, et que nous voulons connaître l'angle ?

Il faut alors utiliser les fonction trigonométriques inverses, que l'on appelle "arc sinus", "arc cosinus", et "arc tangente".

Si nous reprenons les angles remarquables que nous avons examinés plus haut, on peut dire que
arcSin(1) = 90 °, arcSin(0) = 0, etc...

Ce sont ces fonctions trigonométiques inverses dont nous avons besoin quand nous connaissons la place de deux ploints dans le plan et que nous souhaitons connaître l'angle qu'il font avec l'horizontale par exemple.

Pour bien comprendre les explications qui suivent, on pourra utilement faire des petits schémas sur un papier, en traçant deux points, et une horizontale qui passe par l'un d'eux (ou une verticale) !

A ce propos, on pourra s'étonner qu'un langage comme lingo ne fournisse pas la fonction arcSin, ni la fonction arcCos, mais uniquement la fonction arcTan qu'il apelle atan() (voir à ce sujet le dictionnaire lingo).
En fait, cela s'explique si nous réfléchissons au fait que la tangente vaut
coté opposé / coté adjacent.
Dans le cas de deux points par exemple, le coté adjacent sera représenté par leur différnce de position horizontale (la différence des locH), et le coté opposé sera calculé par la différence des position verticales (différence des locV), si nous souhaitons obtenir l'angle par rapport à l'horizontale.
Ce sera l'inverse bien sûr si nous cherchons l'angle par rapport à la verticale.

En revanche, nous aurons alors deux problèmes qui sont illustrés par cette animation.
Dans cette animation, on peut attraper le point orange et le déplacer à la souris.
L'animation trace en permanence la ligne qui rejoint les deux points (l'hypothénuse du triangle rectangle), et la vertcale qui relie le point à l'horizontale, de manière à matérialiser le triangle entier.

En manipulant ce point orange on constatera deux choses :

- Tant que le point orange reste à droite du point vert, l'angle formé par l'hypothénuse avec l'horizontale est calculé correctement, positif si le point orange est au dessus de l'horizontale, négatif s'il est en dessous.
En revanche, si le point orange se trouve à gauche du point vert, alors l'angle calculé n'est plus correct.

Pour plus de facilité, divisons l'espace en quatre quadrants, comme sur une carte, et appelons la direction verticale vers le haut Nord. L'Est est alors à droite, le Sud en bas et l'Ouest à gauche.
Appelons le quart de plan supérieur droit le quadrant Nord-Est (NE), le quadrant inférieur droit quadrant Sud-Est (SE), celui qui est en bas à gauche le quadrant Sud-Ouest (SW), et le dernier en haut à gauche le quadrant Nord-Ouest (NW).

En adoptant cette terminologie pour la division de l'espace (et j'encourage à l'utiliser chaque fois que l'on manipule des angles),on voit dans la figure que les valeurs d'angle calculées dans le quadrant NW sont les mêmes que les valeurs symétriques par rapport au point vert dans le quadrant SE. De la même manière, les valeurs d'angle calculées dans le quadrant SW sont les mêmes que les valeurs symétriques par rapport au point vert dans le quadrant NE.

- Si le point orange se trouve exactement au dessus ou en dessous du point vert, alors leur différence de position horizontale est nulle.
Et comme l'arcTangente vaut coté opposé / coté adjacent, c'est à dire différence de locV / différence de locH, nous nous trouvons face à un problème de division par 0, laquelle est impossible.

Donc, si nous souhaitons calculer l'angle sur le cercle complet, c'est à dire sur 360 °, il nous faudra, chaque fois que nous faisons le calcul, tester dans quel quadrant se trouve le point orange, et également tester s'il se trouve pile sur une des quatre directions, N, E, S ou W. Ce qu'on fera en comparant les positions horizontales et verticales.

En fonction du résultat de ce test, il ne nous restera plus qu'à corriger l'angle, en lui ajoutant les valeurs qui vont bien à savoir (ce traitement est illustré sur cette animation):

si le point est dans le quadrant NE alors
l'angle à prendre = l'angle trouvé par calcul

sinon si le point est dans le quadrant SE alors
l'angle à prendre = 360 + l'angle trouvé par calcul
sinon si le point est dans le quadrant SW alors
l'angle à prendre = 180 + l'angle trouvé par calcul
sinon si le point est dans le quadrant NW alors
l'angle à prendre = 180 + l'angle trouvé par calcul

sinon si le point est au N alors
l'angle à prendre = 90
sinon si le point est àl'E alors
l'angle à prendre = 0
sinon si le point est au S alors
l'angle à prendre = 270
sinon si le point est àl'W alors
l'angle à prendre = 180
fin si

Notons qu'il est inutile d'apprendre toutes ces valeurs par coeur. Elles changeront en fonction de l'orientation de la figure qu'on a à traiter de toutes façons. Si l'on a compris le principe du cercle trigonométrique, la technique de programmation consistera à faire le calcul basique de l'arc tangente, puis à regarder les valeurs qu'on obtient, en ensuite en déduire les valeurs à ajouter ou à retrancher pour obtenir la valeur correcte en fonction de ce que l'on cherche à réaliser.
Mais on ne pourra pas s'affranchir du test pour savoir si les points se trouvent au dessus ou en dessous l'un de l'autre, et si les points se trouvent à gauche ou à droite l'un de l'autre.

Dernières formules utiles en trigonométrie et pour la résolution d'un triangle:

- jusqu'à une valeur d'environ 20 ° (ou -20 °, ou entre 340 et 360 °), on peut considérer par approximation que le sinus est égal à la tangente,

- la somme du carré du sinus et du carré du cosinus est toujours égale à 1 : sin2 + cos2 = 1

- le théorème de pythagore :
le carré de l'hypothénuse est égale à la somme des carrés des deux cotés de l'angle droit :
Ce qui permet en tout temps de calculer la distance entre deux points :
cette distance est l'hypothénuse d'un triangle, les deux cotés de l'angle droit sont les différences de position horizontale et de position verticale.
Donc :
distance entre deux points = racine carrée ( (diff de locH)2 + (diff de locV)2 )

Retour au sommaire