Mit dieser Procedure könnte ich nichts anfangen, weil sie nicht die Winkel zurückgibt, die ich bräuchte. Das soll heißen, dass der Winkel von P(0|0) zu Q(1|1) der gleiche ist wie von P(0|0) nach Q(-1|-1). Außerdem ist die Drehrichtung für mich falsch, normalerweise teilt man nämlich, um auf die Steigung zu kommen, delta_y durch delta_x und nicht andersrum. Außerdem geht die richtige Winkelrichtung gegen den Uhrzeigersinn und nicht zum Uhrzeigersinn, was sich natürlich durch die Umkehrung des Bruchs ergibt.
Aber da du es so in deiner Engine brauchst, ist das ja okay, nur sollte man deine Procedure so nicht anbieten und sagen sie sei richtig, denn das ist sie mathematisch überhaupt nicht.
Der Tangens ist übrigens definiert als delta_y durch delta_x, d.h. er gibt die Steigung der Ursprungsgeraden an, die in dem Winkel alpha am Ursprung angetragen wird. An den Stellen 90° und 270° ist der Tangens allerdings nicht definiert, da er da gegen Unendlich strebt. Das lässt sich auch leicht ersehen, wenn man weiß, wie man den Tangens berechnet: [c]Tangens(alpha) = Sinus(alpha) / Cosinus(alpha)[/c]. An den Stellen 90° und 270° ist der Kosinus gleich Null und somit gibt es eine Division durch Null.
Aber ich glaube, das wolltest du gar nicht wissen.
2 Prozeduren für 2D-Spiele - Winkel
- NicTheQuick
- Ein Admin
- Beiträge: 8675
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten: