Autor Beitrag
sushi
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 17.11.02 16:29 
Delphi liefert für alle Winkel außer 0 den falschen Sinus und Cosinus !
Sprich sin(45) ist zB 0.85... anstatt dem richtigen Wert 0.707... :?

Hat jemand auch das Problem oder weiss jemand wie ich das beheben kann ?!

_________________
Think positive !
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 17.11.02 16:38 
Hat seine Richtigkeit!
0.850... ist der Sinus von 45 im Bogenmaß (rad).
Probier's mal mit sin(DegToRad(45)), wobei 45 dann der Winkel im Winkelmaß sind. Dann wird er erst ins Bogenmaß umgewandelt und dann der Sinus rausgeholt.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
sushi Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 17.11.02 16:52 
Danke, jetzt funzt es !
Aber warum liefert delphi bei Vielfachen von 90° komische Werte ?!

_________________
Think positive !
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 17.11.02 18:14 
keine Ahnung.
Was liefert er denn für Werte?

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: So 17.11.02 21:32 
Also unter 'komischen Werten' verstehst Du warscheinlich, daß er bei sinus(180) nicht 0, sondern -5,42101086242752E-20 ausgibt, oder? [-5,42E-20 ist die Wissenschaftliche Notation für 0,00000000000000000005421]
Das sind Rundungsfehler! Nehm mal Deinen normalen Taschenrechner, zieh aus einer Zahl 10 mal den Sinus und dann wieder 10 mal mit ArcSin zurück. Da kommst auch selten bei Deiner ursprünglichen Zahl an :-(

Am einfachsten ist, wenn Du das Ergebnis ein bischen rundest...
Mathematisch zwar nicht gerade das gelbe vom Ei, aber wenn Du nicht gerade 20 Nachkommastellen brauchst durchaus machbar.
Wenn Du das Ergebnis zB immer mit RoundTo(Zahl,-16) auf 16 Nachkommastellen rundest sollte dieses Problem behoben sein.

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
sushi Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 18.11.02 14:22 
Danke es klappt ! :)

_________________
Think positive !