AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 Source des fonctions trigonométriques Cos, Sin et Tan

Aller en bas 
2 participants
AuteurMessage
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Source des fonctions trigonométriques Cos, Sin et Tan Empty
MessageSujet: Source des fonctions trigonométriques Cos, Sin et Tan   Source des fonctions trigonométriques Cos, Sin et Tan EmptySam 7 Nov 2009 - 16:12

Attention la lecture de cette page peut causer des maux de tête rire .

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
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Source des fonctions trigonométriques Cos, Sin et Tan Empty
MessageSujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan   Source des fonctions trigonométriques Cos, Sin et Tan EmptySam 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 noel

_________________
Source des fonctions trigonométriques Cos, Sin et Tan Control-commentTous les icones de gm utilisables sur le cbna ICI  Source des fonctions trigonométriques Cos, Sin et Tan Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Source des fonctions trigonométriques Cos, Sin et Tan Empty
MessageSujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan   Source des fonctions trigonométriques Cos, Sin et Tan EmptySam 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
Revenir en haut Aller en bas
Contenu sponsorisé





Source des fonctions trigonométriques Cos, Sin et Tan Empty
MessageSujet: Re: Source des fonctions trigonométriques Cos, Sin et Tan   Source des fonctions trigonométriques Cos, Sin et Tan Empty

Revenir en haut Aller en bas
 
Source des fonctions trigonométriques Cos, Sin et Tan
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» In the cube 2 (+source)
» [open source] Snake
» [C#] Calculatrices open source
» [Source] Faire un jeu en Php/Mysql :)
» Source ou il n'y a pas de fog dans un décor 3d

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: