Trigonometriske funktioner i c++

Tags:    c++ delphi

Jeg er i gang med at lave et Trigonometriprogram, men ved brug af: sin() fejler det
ex:


double i=90;
i=sin(i);

i skull gerne give 1
men jeg får 0.87747663565635636 derudaf

og hvorfor virker det ikke i denne sammenhæng:

// sinusrelation siden a= sinA*siden b / sinB

// side[3] hvor a=side[0] b=side[1] og c=side[2] , grad[3] A=grad[0] B=grad[1] og C=grad[2]

side[0]=sin(grad[0])*side[1]/sin(grad[1]);

og så har jeg hørt noget om at c++ regner i rad???
Takker for alle svar
gerne med et link til hvor man finder steder, skrifter om emnet.
[Redigeret d. 25/05-02 23:57:05 af Pulven]



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
User
Bruger #55 @ 26.05.02 13:57
Jeg er i gang med at lave et Trigonometriprogram, men ved brug af: sin() fejler det
ex:


double i=90;
i=sin(i);

i skull gerne give 1
men jeg får 0.87747663565635636 derudaf

og hvorfor virker det ikke i denne sammenhæng:

// sinusrelation siden a= sinA*siden b / sinB

// side[3] hvor a=side[0] b=side[1] og c=side[2] , grad[3] A=grad[0] B=grad[1] og C=grad[2]

side[0]=sin(grad[0])*side[1]/sin(grad[1]);

og så har jeg hørt noget om at c++ regner i rad???
Takker for alle svar
gerne med et link til hvor man finder steder, skrifter om emnet.
[Redigeret d. 25/05-02 23:57:05 af Pulven]


C/C++ regner med radianer som default.
du skal derfor selv konvertere til radianer først.

på en cirkel er der 360 grader rundt eller 2*pi radianer
dvs. en omregneing er ret simpel
rad = (grad / 360) * 2 * pi
grad = (rad / (2 * pi)) * 360

Det kan godt være jeg husker fejl, men mener det er sådan.




t