Aller au menu - Aller au contenu

Icône La trigonométrie

Mise à jour : 13/01/2009
Difficulté : Intermédiaire Intermédiaire Creative Commons BY-SA
95 visites depuis 7 jours, dont 26 sur ce chapitre classé 583/786
Bon, voilà un chapitre purement mathématique, mais c'est aussi l'un des plus importants avant d'entamer la 3D via la trigonométrie.

Vous savez sûrement la plupart des choses que je vais vous dire dans ce tuto (pour les avoir vues en cours en général), mais c'est toujours bon de se rafraîchir la mémoire juste avant d'utiliser ces vieux théorèmes. ^^

Nous allons nous intéresser aux notions de fonctions trigonométriques (cosinus, sinus, tangente) et au cercle trigonométrique.
Sommaire du chapitre :
Icône du chapitre
Sommaire Chapitre suivant

Fonctions trigonométriques

Prenons un triangle ABC rectangle en A (soit A est un angle droit, angle(A) = 90°) :
Triangle rectangle

Choisissons un angle de ce triangle, différent de l'angle droit. Par exemple : l'angle B, x1 et x2 sont des inconnues.
  • On appelle hypoténuse du triangle le plus grand des 3 côtés ; dans un triangle rectangle, celui-ci est toujours le côté qui ne touche pas l'angle droit (ici, c'est donc le segment [BC]).
  • On appelle côté adjacent à B le côté qui touche l'angle B et qui n'est pas l'hypoténuse (ici, c'est donc le segment [BA]).
  • On appelle côté opposé à B le côté qui ne touche pas l'angle B (ici, c'est donc le segment [AC]).


Fonctions trigonométriques de base



Nous n'en aurons besoin que de deux, les plus connues, à savoir le cosinus et le sinus. Pour les autres, elles sont listées sur cette page : Fonctions trigonométriques.

Par définition, on a :

$$\cos {(\hat{X})} = \frac{\, cote \, adjacent \,}{hypotenuse} \,\,\,soit \,\, ici \,\,\, \cos {(\hat{B})} = \frac{\, BA \,}{BC}$$

$$\sin {(\hat{X})} = \frac{\, cote \, oppose \,}{hypotenuse} \,\,\,soit \,\, ici \,\,\, \sin {(\hat{B})} = \frac{\, CA \,}{CB}$$

Le cosinus et le sinus sont toujours des nombres compris entre -1 et 1 (inclus), et ils sont sans unité, c'est-à-dire que ce sont de simples nombres, ils n'ont pas de représentation physique à eux seuls.

Cercle trigonométrique

Un cercle trigonométrique (aussi appelé cercle unité) est un cercle de centre O (0,0) et de rayon 1.
Cela signifie que tous les points qui forment le cercle sont tous à la même distance (on parle alors d'équidistance) du centre (le point O(0,0)), et cette distance est de 1.
Remarquez que quand je dis '1', je ne précise pas d'unité, tout simplement parce que vous pouvez choisir la vôtre : ça peut être 1 centimètre, 18 pixels ou aussi 27 mètres.

Bon. Je vais vous faire un petit dessin :
Cercle trigonométrique.

C'est joli un cercle, non ? Oui, mais ça ne nous sert pas à grand-chose de savoir ce qu'est un cercle trigonométrique pour l'instant. :p
Mais vous allez voir où je voulais en venir.

On va choisir un angle $a$ au hasard (en degrés), puis on va placer sur notre cercle l'unique point B, tel que l'angle $A\hat{O}B \, = \, a$
Angle 60°.

Analysons maintenant les coordonnées du point B :

Coordonnées de B.

Puis exprimons le cosinus et le sinus de $a$ (dans le triangle OXB rectangle en X) :

$\cos{(a) \, = \, \frac{OX}{OB} \, et \, \sin{(a) \, = \, \frac{BX}{OB}$

Mais remarquons plusieurs choses :
  • [OB] est un rayon du cercle trigonométrique, on a donc OB=1 ;
  • BXOY est un rectangle, on a donc BX = OY.


Après simplification, on a donc :
$\cos{(a) \, = \, OX \, et \, \sin{(a) \, = \, OY$

On en déduit donc que les coordonnées du point B sont $(\cos{(a)},\sin{(a)})$.

Voilà ce que vous avez besoin de savoir sur le cercle trigonométrique.

Formule

Dans la suite du tuto, nous aurons besoin de deux formules de trigonométrie.
Ces formules sont importantes, même si elles sont relativement compliquées je vous conseille quand même de les apprendre par coeur.
Les voici :

  • \cos{(a+b)} \, = \, \cos{(a)}*\cos{(b)}-\sin{(a)}*\sin{(b)}
  • \sin{(a+b)} \, = \, \sin{(a)}*\cos{(b)}+\cos{(a)}*\sin{(b)}

Leur démonstration demande une certain niveau en maths, cela ne sert donc à rien que j'essaye de vous le démontrer, la plupart d'entre vous ne comprendraient rien à la démonstration. ^^
Je vous demande juste d'admettre qu'elles sont vraies.

ActionScript

Dans l'application que nous allons en faire, les cosinus et sinus vont nous servir, à partir d'un angle, à trouver les coordonnées de notre clip.
Or dans la définition, on a plutôt appris à faire le contraire, c'est-à-dire à déterminer le cosinus, et le sinus à partir de la longueur des côtés.
Dans l'autre sens, vous ne savez apparemment pas le faire (mais rassurez-vous, très peu de gens le savent ^^ ).
En plus, cela ne va pas nous poser de problème : si vous ne connaissez pas les valeurs du cosinus, ni du sinus, ni d'un angle, votre ordinateur, lui, les connaît, et si donc vous les lui demandez (poliment bien sûr, il ne faut surtout pas le vexer :p ), il pourra vous les donner.

En ActionScript, il faut utiliser la classe Math (La doc de cette classe est disponible ici).
Cela nous donnera donc :
Code : Actionscript
1
2
3
var angle:Number = 1; // la valeur de angle dont vous voulez le cosinus et sinus.
var monCos:Number = Math.cos(angle);
var monSin:Number = Math.sin(angle);


À savoir aussi, les méthode Math.cos() et Math.sin() réclament un nombre en radians et non en degrés.


Pour faire cette conversion, je vous propose un petit exercice d'entraînement.
À savoir : 180 degrés = \pi radians, en ActionScript la valeur de \pi est accessible via la propriété Math.PI.
Une propriété est une variable associée à un objet, c'est la même chose que les méthodes par rapport aux fonctions.


Il faut créer une fonction conversion_radians() qui devra :
  • recevoir en paramètre un nombre qu'il enregistrera dans une variable degre ;
  • Effectuer la conversion degrés / radians ;
  • Renvoyer le résultat obtenu via un return.


Secret (cliquez pour afficher)
Code : Actionscript
1
2
3
4
function conversion_radians(degre:Number):Number{
    return degre/180*Math.PI;
}
// exemple : conversion_radians(90) == Math.PI/2
Bon : voilà pour le niveau de trigonométrie dont nous allons avoir besoin ; le but de ce tuto n'étant pas de vous apprendre la trigonométrie, je ne me suis pas étendu.
Il faut savoir qu'il existe beaucoup de formules, mais que l'on peut en général toutes les retrouver avec les deux principales que je vous ai données.
Sommaire Chapitre suivant

Partager

3 commentaires pour "La trigonométrie"
Note moyenne : 3.40 / 4 (5 votes)
Pseudo Commentaire
En ligne Määsk # Posté le 18/01/2008 à 12:23:46
Membre määské
Avatar
Flux RSS

Ville : Paris
Pays : France métropolitaine

Juste un petit mot pour pousser un p'tit coup d'gueule contre les zCorrecteurs...

Si c'est zCorrigé comme le tampon l'indique, pourquoi vois-je déjà des fautes dans l'introduction et la conclusion ?...

"vous êtes intéressé" il est où le "s" ?
"Et en flash ?" => Et par le flash
"Tout d'abords" => c'est quoi ce "s" ?
"les maths vous rebutes ou vous donnent la nausée, je vous déconseil de lire ce tuto" => rebutent / déconseille

Bref c'est qu'une séléction, y'en a un peu partout...

Heero78 comprends bien que c'est pas contre toi (bien que tu pourrais effectivement te relire un peu), mais contre cette attestation "zCorrigé" alors que y'a des fautes partout... ça le fait pas trop niveau rigueur ;)

Le tuto n'aurait même pas du être validé, théoriquement :)

www.psykedeliz.fr - Blog collaboratif sur l'actualité du psychédélique
Image utilisateur
Giggity Team : sous-titres de qualité pour Les Griffin, Weeds, Big Bang Theory & Cleveland Show.
 
Hors ligne kaham # Posté le 30/03/2008 à 01:46:53

Pas mal, sa fais du bien de revoir... heu... de voir la trigonométrie :-°
Sa fais un petit plus merci beaucoup.

Par contre j'espère qu'il ne faut pas un bon niveau d'ActionScript pour le reste du tutoriel :-°
par ce que juste avec la fonction conversion_radians... je savais même pas que l'on pouvais créer des fonction en AS :p . Mais bon sa ne me déroute pas. (j'en ai déjà vu des verts et des pas mûres avec le C++ ^^ ).
Hors ligne zx-spectrum # Posté le 13/01/2009 à 06:10:58
http://www.worldofspectrum.org
Avatar

Merci pour ton tuto,il est bien fait. Je m'en vais de ce pas m'apliquer à reproduire en C avec la SDL
@+

Voir tous les commentaires
Ce tutoriel a été corrigé par les zCorrecteurs.