RaZ 0 Report post Posted January 24, 2006 Comment calculer une valeur approchée de cosinus et sinus ? Disons qu'on désire avoir une table de cosinus et sinus par incrément de 1 degré avec une "précision" n=8192 Nous utiliserons pour générer la table de consinus et sinus les formules : cos(a+=cos(a)*cos(-sin(a)*sin( sin(a+=sin(a)*cos(+cos(a)*sin( ou cos(a-=cos(a)*cos(+sin(a)*sin( sin(a-=sin(a)*cos(-cos(a)*sin( avec a="l'angle à calculer" et b=1 cos_1=cos(1)*8192 et vaut 8190 sin_1=sin(1)*8192 et vaut 143 Le meilleur angle pour commencer à calculer et ne pénaliser aucune des deux tables pour le manque de précision aux angles 0, 90, 180 et 270 degrés est a=45. Pour générer les tables aux angles entre 0 et 45 degrés : n=8192 table_cos(45)=5792 table_sin(45)=5792 table_cos(01)=8190 table_sin(01)=0143 pour i allant de 44 à 1 table_cos(i)=(table_cos(i+1)*table_cos(1)+table_sin(i)*table_sin(1))/n table_sin(i)=(table_sin(i+1)*table_cos(1)-table_cos(i)*table_sin(1))/n fin boucle sur i table_cos(00)=8192 table_sin(00)=0000 Pour le reste, je vous renvois à vos souvenirs de première pour compléter les tables par symétrie Une routine asm est disponible sur le site de DHS ici dans la section Misc sources and routines Azrael Quote Share this post Link to post Share on other sites