RaZ Posted January 24, 2006 Report Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now