AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kurswinkel Berechung

Ein Thema von robinWie · begonnen am 17. Apr 2009 · letzter Beitrag vom 17. Apr 2009
Antwort Antwort
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#1

Kurswinkel Berechung

  Alt 17. Apr 2009, 19:38
Hallo, ich bin gerade dabei mir eine Unit zusammenzubasteln wo einige Funktionen zu Koordinaten drin sind. Momentan versuche ich eine Funktion zu schreiben, die einem den Kurswinkel (N=0° O=90° S=180° W=270°) von einer Koordinate zu einer anderen Ausgibt.
Im Internet hab hier ich auch eine Rechung dazu gefunden (weiter unten unter Beispielsrechnung) Aber beim Umsetzten in Delphi hab ich Probleme. Da kommt irgendwie nie das raus, was eigentlich rauskommt.
Es soll der Ankunftswinkel ausgerechnet werden.

Das hier ist mein Bisheriger Ansatz
Delphi-Quellcode:
function Direction(Lat1, Lat2, Lon1, Lon2: Extended): Single;
var
 Lt1: single;
 LT2: single;
 LG1: single;
 LG2: single;
 DLA: Extended;
 c: Extended;
 w: Extended;
begin
  Lt1 := DegToRad(Lat1);
  Lt2 := DegToRad(Lat2);
  Lg1 := DegToRad(Lon1);
  Lg2 := DegToRad(Lon2);
  DLA := DegToRad(Lon1 - Lon2);

  C := Sin(Lt1) * Sin(Lt2) + Cos(Lt1) * Cos(Lt2) * Cos(DLA);
  W := (Sin(Lt1) - Sin(Lt2) * cos(C)) / (cos(Lt2) * sin(C));
  Result := RadToDeg(W);
end;
Ich hab das mit den Radiant (mit den Delphi arbeitet) und den Grad soweit berücksichtigt, indem ich am Anfang konvertiere und am Ende. Aber wie gesagt kommt immer das falsche Raus

Danke im Voraus
Robin
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#2

Re: Kurswinkel Berechung

  Alt 17. Apr 2009, 20:38
hiho
hab mir das eben mal bei wikipedia angeschaut und so wie es aussieht, hast du für die Berechnung der Strecke einmal den ArcCosinus vergessen http://de.wikipedia.org/wiki/Orthodrome#Strecke
MfG blink182
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Kurswinkel Berechung

  Alt 17. Apr 2009, 22:18
Thx für den Hinweis. Jetzt funktioniert es.. zumindest wenn man sich von West nach Ost bewegt^^ Aber ich denk mal um das richtige Ergebniss zu bekommen wenn man sich von Ost nach Webst bewegt muss man einfach 180+W rechnen...

Delphi-Quellcode:
function StartDirection(Lat1, Lat2, Lon1, Lon2: Extended): Single;
var
 Lt1: single;
 LT2: single;
 LG1: single;
 LG2: single;
 DLA: Extended;
 c: Extended;
 w: Extended;
begin
  Lt1 := DegToRad(Lat1);
  Lt2 := DegToRad(Lat2);

  Lg1 := DegToRad(Lon1);
  Lg2 := DegToRad(Lon2);
  DLA := DegToRad(Lon1 - Lon2);

  C := ArcCos(Sin(Lt1) * Sin(Lt2) + Cos(Lt1) * Cos(Lt2) * Cos(DLA));
  W := ArcCos((Sin(Lt2) - Sin(Lt1) * cos(C)) / (cos(Lt1) * sin(C)));
  Result := RadToDeg(W);
end;
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#4

Re: Kurswinkel Berechung

  Alt 17. Apr 2009, 22:24
ggf. musst du noch die Punkte weiter unten berücksichtigen siehe wikipedia also ob man jetzt von A -> B oder von B -> A möchte
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz