Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Bifa11

Frischling

  • »Bifa11« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Pforzheim

Beruf: Schule

  • Private Nachricht senden

1

02.06.2016, 17:15

Fehler beim Berechnen der Enfernung zweir GPS Koordinaten

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
Träume nicht dein Leben, sondern lebe deinen Traum!!!! :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

02.06.2016, 17:47

Inwiefern machen die Ergebnisse keinen Sinn?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

02.06.2016, 18:25

Wahrscheinlich ist dein Fehler, dass du Winkel in Grad angibst, aber sin und cos erwarten das Bogenmaß (180° entspricht Pi).

Bifa11

Frischling

  • »Bifa11« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Pforzheim

Beruf: Schule

  • Private Nachricht senden

4

02.06.2016, 18:33

Mit keinen Sinn meine ich das anstatt 2315 1900 rauskommt. Obwohl ich nicht runde.
Was meinst du mit Bogenmaß?

MFG bifa11
Träume nicht dein Leben, sondern lebe deinen Traum!!!! :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

02.06.2016, 18:44

Ach, natürlich, good catch, David (eine Schande dass mir das nicht auch gleich aufgefallen is :D ). Winkelfunktionen in C++ (und praktisch jeder anderen Programmiersprache) erwarten den Winkel nicht in Grad, sondern in Radiant. Wenn du die Winkel in Grad eingibst, musst du sie zuerst noch nach Radiant konvertieren.

Bifa11

Frischling

  • »Bifa11« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Pforzheim

Beruf: Schule

  • Private Nachricht senden

6

02.06.2016, 19:12

Danke jetzt funktioniert es.

Übrigens kennt jemand von euch ein gutes MySql Tutorial in Verbindung mit C++ am besten in Deutsch?

MFG bifa11
Träume nicht dein Leben, sondern lebe deinen Traum!!!! :)

CeDoMain

Alter Hase

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

7

02.06.2016, 23:26

Wer braucht schon Tutorials... Schau doch direkt beim MySQL Connector/C++ Developer Guide. ;)

EDIT: Natürlich ist das kein Deutsch, aber ich bin der Meinung, dass geschriebenes Englisch sich noch entziffern lässt. :)
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

Bifa11

Frischling

  • »Bifa11« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Pforzheim

Beruf: Schule

  • Private Nachricht senden

8

07.06.2016, 20:06

Servus,
wie oben geschrieben habe ich ja ein kleines Übungsprojekt ein kleines "Spiel".
Ich stoße nun auf folgendes Problem, wenn ich eine Spielzeit mit verwenden möchte wo die Uhr immer fortläuft und diese Anzeigt wird. Das bekomme ich auch hin mit einer normallen Schleife aber ab dem Momentwo ich eine Eingabe Aufforderung habe (cin) läuft ja auch die Schleife nicht weiter.

Gibt es da einen Trick?

Meine einzige Idee wäre, dass die Uhr "anhält" aber dies ist gewiss nicht die schönste Lösung und auch nicht mein Ziel. :dash:

MFG bifa11
Träume nicht dein Leben, sondern lebe deinen Traum!!!! :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

07.06.2016, 20:14

Wo genau willst du diese Uhr denn ausgeben?

Bifa11

Frischling

  • »Bifa11« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Pforzheim

Beruf: Schule

  • Private Nachricht senden

10

07.06.2016, 20:32

Ich würde es gerne so aussehen lassen (in der Konsole):

Uhr: 12:34
--------------
Bitte gebe deinen Namen ein: (Eingabe Aufforderung)

Der Glu hierbei soll sein das die Uhr während man etwas eingibt weiter läuft.
Träume nicht dein Leben, sondern lebe deinen Traum!!!! :)

Werbeanzeige