T
TM_
Neues Mitglied
- 1
Hallo,ich hänge momentan an einem sehr ärgerlichen Problem fest. Es gibt um die Math Klasse und dessen Art sin() und cos() zu berechnen.
sin(90), was bekanntermaßen = 1 ist, wird in java so zurückgegeben:
Das liegt daran, dass es nicht in Grad, sonder radial gerechnet wird, ein Kreis also nich = 360° ist, sondern = 2Pi.
(Kann man mit diesem Taschenrechner schnell berehcnen und umschalten)
Es gibt ja aber noch die Math.toDegrees(); Methode. Bei ^-1 Funktionen, also asin(), acos() und atan() funktioniert diese auch. Doch
Math.toDegrees(Math.sin(90)) ist != 1.
Was mache ich also falsch und was für eine Umrechnung kann ich vornehmen? Alles was ich gefunden habe ist mit 189/Pi multiplizieren, was den selben Effekt wie toDeg hat. Es geht zwar mit alten Kentnissen wie Gegenkathete und Ankathete, doch dazu müssen diese jedesmal mit den Parametern übergeben werden und überhaupt erst berechnet werden, was den ganzen Code unnötig verlängert und unübersichtlich macht.
Gibt es also eine einfache Formel, mit der ich sin(Alpha) korrekt berechnen kann? Habe schon alles mögliche gegooglet, komem aber auf nichts neues :/
Schonmal großen Dank für alle Antworten!
sin(90), was bekanntermaßen = 1 ist, wird in java so zurückgegeben:
Code:
Math.sin(90) = 0.893996663601
(Kann man mit diesem Taschenrechner schnell berehcnen und umschalten)
Es gibt ja aber noch die Math.toDegrees(); Methode. Bei ^-1 Funktionen, also asin(), acos() und atan() funktioniert diese auch. Doch
Math.toDegrees(Math.sin(90)) ist != 1.
Was mache ich also falsch und was für eine Umrechnung kann ich vornehmen? Alles was ich gefunden habe ist mit 189/Pi multiplizieren, was den selben Effekt wie toDeg hat. Es geht zwar mit alten Kentnissen wie Gegenkathete und Ankathete, doch dazu müssen diese jedesmal mit den Parametern übergeben werden und überhaupt erst berechnet werden, was den ganzen Code unnötig verlängert und unübersichtlich macht.
Gibt es also eine einfache Formel, mit der ich sin(Alpha) korrekt berechnen kann? Habe schon alles mögliche gegooglet, komem aber auf nichts neues :/
Schonmal großen Dank für alle Antworten!