Construction des tables trigonométriques
# Construction des tables trigonométriques

Les tables de fonctions trigonométriques sont utiles dans beaucoup de domaines. Avant l'existence des calculatrices de poche, les tables trigonométriques étaient essentielles pour la navigation, dans les sciences et dans la technologie. La réalisation de tables de valeurs approchées des fonctions représentait un domaine d'étude important, et mena au développement des premiers dispositifs de calcul mécaniques.

Les ordinateurs modernes et les calculatrices de poche génèrent maintenant les valeurs des fonctions trigonométriques à la demande, en utilisant des bibliothèques de code mathématique. Souvent, ces bibliothèques utilisent des tables internes calculées d'avance, et la valeur requise est obtenue en utilisant une méthode d'interpolation appropriée.

Des tables trigonométriques simples sont maintenant souvent utilisées en infographie, où en général des valeurs précises ne sont pas nécessaires et les calculs doivent être effectués très rapidement.

## Valeurs nécessaires

Des relations simples permettent de retrouver toutes les valeurs à partir de celles des sinus et des cosinus sur un huitième du cercle trigonométrique (π/4) :

* $\sin(-x)=-\sin x$
* $\sin(\pi -x)=\sin x$
* $\cos(x)=\sin({\frac {\pi }{2}}-x)$

## Une approximation rapide, mais très imprécise

Un algorithme rapide, mais imprécis, permet de construire par récurrence une table à partir de l'approximation de Gauss et des relations $\sin(a+b)=\sin a\cos b+\cos a\sin b$ et $\cos(a+b)=\cos a\cos b-\sin a\sin b$.

Pour une table à N valeurs réparties régulièrement sur 2π, la colonne a donne les valeurs approchées de sin(2πn/N), la colonne b donne les valeurs approchées de cos(2πn/N) (0 ≤ n ≤ N - 1), :

    a[0] = 0
    b[0] = 1
    a[n+1] = a[n] + d × b[n]
    b[n+1] = b[n] - d × a[n+1]

pour n = 0, …, N - 1, où d = 2π/N.

Malheureusement, ce n'est pas un algorithme utile pour produire des tables de sinus, pour un certain nombre de raisons. Il fonctionnera seulement quand le nombre N sera très grand, et en utilisant l'arithmétique en précision infinie.

Par exemple, avec une taille de table N = 256, la dernière valeur du sinus est évaluée à −0,02438606 au lieu de 0, et pour N = 1 024, l'algorithme donne comme dernière valeur −0,006124031.

Si les valeurs de sinus et de cosinus obtenues par cet algorithme devaient être représentée sur un graphique, nous obtiendrions une spirale au lieu d'un cercle.

