onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Source des fonctions trigonométriques Cos, Sin et Tan Sam 7 Nov 2009 - 16:12 | |
| Attention la lecture de cette page peut causer des maux de tête . Ne s'adresse qu'aux personnes curieuses qui veulent voir la source de sin, cos et tan. N'utilisez pas cette fonction dans un jeu elle est juste la pour vous montrer le la complexité qui se cache derrière sin et cos. Cos : - Code:
-
var x_,r,m,s;
x_= abs(argument0) r = 1 m = 10 s = 1
x_ = x_ mod (2*pi)
if (x_ == pi) { return-1; exit; } if (x_ == 0) { return 1; exit; }
if ( x_== floor( (1*pi/2)*power(10,8) )/power(10,8) ) { return 0; exit; } if ( x_== floor( (3*pi/2)*power(10,8) )/power(10,8) ) { return 0; exit; }
if (x_ > pi) { x_ = pi-x_ s = -1 }
for(n=1;n<=m;n+=1) { r += ( power(-1,n)*power(x_,2*n) ) / s_factoriel(2*n) }
return r*s
Sin - Code:
-
var x_,r,m,s;
x_= argument0 r = 0 m = 10 s = 1
x_ = x_ mod (2*pi)
if (x_==pi) { return 0; exit; } if (x_== 0) { return 0; exit; }
if ( x_== floor( (1*pi/2)*power(10,8) )/power(10,8) ) { return 1; exit; } if ( x_== floor( (3*pi/2)*power(10,8) )/power(10,8) ) { return-1; exit; }
if (x_ > pi) { x_ = pi-x_ }
for(n=0;n<=m;n+=1) { r += ( power(-1,n)*power(x_,2*n+1) ) / s_factoriel(2*n+1) }
return r
s_factoriel - Code:
-
var x_,r;
x_= argument0 r = 1
for(i=1 ; i<=x_ ; i+=1) { r*=i }
return r
Tan - Code:
-
return Sin(argument0)/Cos(argument0)
Cotan(x) - Code:
-
return cos(argument0)/sin(argument0)
Voila en faite je me suis emmerdé a reprogrammer les fonctions trigonométriques donc je voulais partager mon travail avec vous. :p_bye:
Dernière édition par onilink_ le Mer 9 Déc 2009 - 20:43, édité 1 fois |
|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan Sam 7 Nov 2009 - 19:25 | |
| J'ai pas regardé en détail... c'est une approximation par dichotomie? En tout cas, bien joué, c'est intéressant, je vais le refaire en asm, tiens |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan Sam 7 Nov 2009 - 20:09 | |
| C'est exact En fait j'ai utilisé les formules de wikipédia ^^. Google est notre ami :oui: !
cos(x) = x - (x^2)/2! + (x^4)/4! + ... + (-1)^k * x^2k/2k! sin(x) = x - (x^3)/3! + (x^5)/5! + ... + (-1)^k * x^(2k+1)/(2k+1)!
Voila fallait juste le traduire en GML |
|
Contenu sponsorisé
| Sujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan | |
| |
|