Hallo!
Ich versuche mir gerade ein kleines TD (Tower Defense) zu bauen und stosse auf ein Problem, das ich nicht gelöst kriege:
Ich habe einen Tower und einen Gegner in einem zweidimensionalen Koordinatensystem, woraus ja ein rechtwinkliges Dreieck entsteht. Bererchnet sind die Seiten a = 210, b = 120 und c = 241.87 und der Winkel gamma = 90°. Soweit mir bekannt muss ich um den Winkel alpha auszurechnen nun tan^-1(210/120) ( = 60.26 ) rechnen, in Java erfolgen Winkel ja in Radian, also ist das erwartete Ergebnis (laut meinem Taschenrechner voyage 200 UND google) 1.0517, in grad also die gewünschten 60.26°. Nun gibt mir Java aber mit der Math.atan(210/120)-Funktion nicht 1.0517 sondern 0.7854 zurück, was umgerechnet 45° (google) sind. Ist das ein Fehler von der Math.atan-Funktion oder macht die atan Funktion nicht das, was ich will oder hab ich einen Denkfehler?
Der Java-Code:
JDK 1.6.0_12, Eclipse
Danke an die, die helfen können!
Grüsse,
Gachl!
Ich versuche mir gerade ein kleines TD (Tower Defense) zu bauen und stosse auf ein Problem, das ich nicht gelöst kriege:
Ich habe einen Tower und einen Gegner in einem zweidimensionalen Koordinatensystem, woraus ja ein rechtwinkliges Dreieck entsteht. Bererchnet sind die Seiten a = 210, b = 120 und c = 241.87 und der Winkel gamma = 90°. Soweit mir bekannt muss ich um den Winkel alpha auszurechnen nun tan^-1(210/120) ( = 60.26 ) rechnen, in Java erfolgen Winkel ja in Radian, also ist das erwartete Ergebnis (laut meinem Taschenrechner voyage 200 UND google) 1.0517, in grad also die gewünschten 60.26°. Nun gibt mir Java aber mit der Math.atan(210/120)-Funktion nicht 1.0517 sondern 0.7854 zurück, was umgerechnet 45° (google) sind. Ist das ein Fehler von der Math.atan-Funktion oder macht die atan Funktion nicht das, was ich will oder hab ich einen Denkfehler?
Der Java-Code:
Code:
int a = 210;
int b = 120;
double alpha = Math.atan(a/b); // result: 0.7853981633974483
Danke an die, die helfen können!
Grüsse,
Gachl!