Servus,
ich habe mich mal mit der Berechnung der Distanz zweier Punkte auf der Erde beschäftigt(da ich dies für ein kleines Spaßprojekt benötige).
Dazu habe ich folgendes Programm geschrieben:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <iostream>
using namespace std;
int main()
{
int dist;
double lat1;
double lat2;
double lon1;
double lon2;
cout << "Lat1(Breite): ";
cin >> lat1;
cout << endl;
cout << "Lon1(Laenge): ";
cin >> lon1;
cout << endl;
cout << "Lat2(Breite): ";
cin >> lat2;
cout << endl;
cout << "Lon2(Laenge): ";
cin >> lon2;
cout << endl;
dist = 6378.388 * acos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1));
cout << dist << endl;
cin >> dist;
return 0;
}
|
Es funktioniert soweit allerdings geben die Ergebnisse keinen Sinn. Ich selbst hatte leider nie die Berechnung von Dreiecken auf der Kugel in der Schule. Daher habe ich mich hier inspiriert:
http://www.kompf.de/gps/distcalc.html
Ich habe mir schon überlegt ob ich die Breite und die Länge vertauscht habe, aber es hilft auch das leider nicht.
Zur Info ich habe das Beispiel von Berlin nach Lissabon von der Internetseite getestet. Habe es auch nochmal gegengerechnet falls die Seite einen Fehler hätte aber das stimmt.
Vielen Dank für eure Hilfe.
MFG Bifa11