hugobalder
Geonewbie
Hallo!
Ich habe ein Problem und hoffe, dass ihr mir helfen könnt! Ich habe schon einige Foren und so gut wie alle Google-Treffer abgegrast, aber ich finde den Fehler irgendwie nicht...
Hintergrund:
Ich möchte eine OpenSource App schreiben, bei der ich eine Adresse eingeben und dann einfach ein Pfeil immer in Richtung Ziel zeigt. Das klappt auch alles soweit ganz gut, ich habe die Zielposition (Z), die aktuelle Position(A) und die letzte Position(B) (1sek her) als Lat/Lon Koordinaten.
Das Problem:
Damit ich weiß um wieviel Grad ich den Pfeil in meiner Animation drehen muss, brauche ich den Winkel zwischen der Strecke A-B und A-Z.
Meine bisherigen Ansätze:
Als erstes habe ich gehofft, dass ich es mir einfach machen kann und habe die Koordinaten einfach in Kartesische Koordinaten
umgerechnet und dann Trigonometrisch die Winkel bestimmt. Da Zeigt der Pfeil aber leider nicht in die richtige Richtung.
Anschließend habe ich es mit folgender Formel versucht:
Damit berechne ich den Winkel zwischen der Strecke A-B und dem Nordpol.
Aber leider komme ich von dieser Rechnung nicht auf den Winkel zwische A-B und A-Z.
Hat jemand von euch einen Tip für mich? Bin ich auf dem richtigen Weg? Oder muss ich andere Formeln nutzen?
Falls hier jemand ist, der Lust hat mir zu helfen, dann werde ich natürlich nochmal ein wenig ausführlicher schreiben, aber ich wollte den Startpost nicht gleich abschreckend lang machen...
Vielen Dank!
Ich habe ein Problem und hoffe, dass ihr mir helfen könnt! Ich habe schon einige Foren und so gut wie alle Google-Treffer abgegrast, aber ich finde den Fehler irgendwie nicht...
Hintergrund:
Ich möchte eine OpenSource App schreiben, bei der ich eine Adresse eingeben und dann einfach ein Pfeil immer in Richtung Ziel zeigt. Das klappt auch alles soweit ganz gut, ich habe die Zielposition (Z), die aktuelle Position(A) und die letzte Position(B) (1sek her) als Lat/Lon Koordinaten.
Das Problem:
Damit ich weiß um wieviel Grad ich den Pfeil in meiner Animation drehen muss, brauche ich den Winkel zwischen der Strecke A-B und A-Z.
Meine bisherigen Ansätze:
Als erstes habe ich gehofft, dass ich es mir einfach machen kann und habe die Koordinaten einfach in Kartesische Koordinaten
Code:
xz = R * Math.cos(lat) * Math.cos(lon);
yz = R * Math.cos(lat) * Math.sin(lon);
Anschließend habe ich es mit folgender Formel versucht:
Code:
Δφ = ln( tan( latB / 2 + π / 4 ) / tan( latA / 2 + π / 4) )
Aber leider komme ich von dieser Rechnung nicht auf den Winkel zwische A-B und A-Z.
Hat jemand von euch einen Tip für mich? Bin ich auf dem richtigen Weg? Oder muss ich andere Formeln nutzen?
Falls hier jemand ist, der Lust hat mir zu helfen, dann werde ich natürlich nochmal ein wenig ausführlicher schreiben, aber ich wollte den Startpost nicht gleich abschreckend lang machen...
Vielen Dank!