Hi,
ich habs dir ja schon per ICQ geschickt, aber ich poste es nochmal:
x_S, y_S sind Startkoordinaten
x_Z, y_Z sind Zielkoordinaten
if x_S > x_Z && y_S > y_Z:
winkel = 360 - arctan( (x_S - x_Z) / (y_S - y_Z) )
if x_S < x_Z && y_S > y_Z:
winkel = 90 - arctan( (x_Z - x_S) / (y_S - y_Z) )
if x_S < x_Z && y_S < y_Z:
winkel = 90 + arctan( (x_Z - x_S) / (y_Z - y_S) )
if x_S > x_Z && y_S < y_Z:
winkel = 270 - arctan( (x_S - x_Z) / (y_Z - y_S) )
Du musst also eine Fallabfrage machen, damit du Winkel zwischen 0 und 360 Grad bekommst. Wenn der arctan in der Programmiersprache die Winkel im Rad-Maß zurückgibt, dann musst du es noch umrechnen...
Es müssen dann die 90, 270 und 360 Grad oben ins Rad-Maß übersetzt werden (*pi/180), und das ergebniss musst du dann wieder ins Gradmaß umrechnen (*180/pi).
Ich hoffe, ich hab oben keinen Fehler gemacht, aber so in der Art müsste es funktionieren. Ich weiß gerade nicht, ob es och einen kürzeren Weg gibt. Ich könnte mir aber vorstellen, dass die arctan funktion auch negative Werte vereinbaren kann (die ich oben aber verhindert habe durch die Abfragen), sodass man sich einen Teil des Codes sparen könnte.
Bis dann!
Lesezeichen