mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kurs berechnen mit NMEA Daten


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat mir jemand ne Formel um den Kurs zwischen 2 Punkten zu berechnen?
Gegeben lat1, lat2, lon1, lon2. Gesucht Winkel.
Die Formel sollte so einfach als möglich sein, kleine Fehler sind 
zulässig.
Ich habe die Aviation Formula gefunden, aber die Berechnung ist sehr 
aufwendig, gibts ne einfachere Berechnung?

Gruß Michael

Autor: Alex Bürgel (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das nicht die gleiche Fragestellung, wie diese hier:
Aufgabe 4 (Aufgabentyp: Programmierung)
a) Schreiben Sie ein C-Programm, welches die kürzeste Flugstrecke F 
zwischen zwei Flughäfen
berechnet. Die beiden Flughäfen entsprechen zwei Punkten P1 bzw. P2 auf 
der Erdoberfläche, deren
Positionen durch die Längengrade a1 bzw. a2 und die Breitengrade j1 bzw. 
j2 gegeben sind.
Die kürzeste Flugstrecke kann in zwei Schritten berechnet werden. Zu 
einem Punkt P auf der Erdkugel
sei p
r
= (x,y,z) der auf die Einheitskugel projizierte Punkt bzw. Ortsvektor 
mit den kartesischen
Koordinaten x, y und z. Diese lassen sich aus dem Längengrad a und dem 
Breitengrad j wie folgt
berechnen:
x = cos(a) cos(j), y = sin(a) cos(j), z = sin(j)
Für die zwei Punkte P1 bzw. P2 sind natürlich entsprechende Indizes 1 
und 2 zu verwenden. Mit Hilfe
des Skalarproduktes der Einheitsvektoren 1 p
r
und 2 p
r
und der Arcuscosinus-Funktion erhält man den
Winkel (im Bogenmaß) zwischen 1 p
r
und 2 p
r
. Unter Berücksichtigung des Erdradius R = 6371 km erhält
man schließlich die kürzeste Flugstrecke F:
F = R . arccos( x1 x2 + y1 y2 + z1 z2 ) Für das Programm ist nur diese 
Formel und nicht ihre Herleitung wichtig !
Das Programm soll folgenden Spezifikationen genügen:
· Die Längengrade a1 bzw. a2 und die Breitengrade j1 bzw. j2 beider 
Punkte sind in der Funktion main()
sinnvoll kommentiert einzulesen. Alle Winkel sollen im Gradmaß 
eingegeben werden.
· Die Berechnung der Flugstrecke F soll durch eine in der gleichen 
Programmquelle enthaltene Funktion
abstand() erfolgen, der als Parameter die Werte a1, a2, j1, j2 übergeben 
werden sollen. Das Ergebnis
soll als return-Wert geliefert werden.
· Die Funktion abstand() soll in der Programmquelle hinter der Funktion 
main() angeordnet sein.
· Die berechnete kürzeste Flugstrecke F ist in main() kommentiert 
auszugeben.
Hinweise:
· Beachten Sie, dass sich die Winkelfunktionen in C auf Argumente im 
Bogenmaß beziehen.
· Die Kreiszahl p kann hier mit dem Wert 3.14159 angenähert werden.
· Beachten Sie auch die genaue Bezeichnung der Arcuscosinus-Funktion, 
die als C-Standardfunktion
existiert.

Autor: Zip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Herleitung (dann kann man abschaetzen was vernachlaessigt werden 
kann).
Der Startvektor (Erdmittelpunkts zu Startkoordinate) und der 
Endvektor(Erdmittelpunkt zu endkoodinate) werden gekreuzt. Dies ist die 
Drehachse, der kuerzeste Weg ist nun in dieser Ebene.

Autor: Selmak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>hat mir jemand ne Formel um den Kurs zwischen 2 Punkten zu berechnen?
>Gegeben lat1, lat2, lon1, lon2. Gesucht Winkel.

Sollte in jeder math. Formelsammlung stehen unter dem Kapitel sphärische 
Trigonometrie.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.