C++ und OpenGL zum Zeichnen von Kurven



  • Hallo,
    ich möchte gerne die Flugroute in meinem Flugsimulator visualiseren (mit einer Tunnelansicht), allerdings sind die Kurven noch ein Problem. Die Geraden zeichne ich einfach mit

    glBegin(GL_LINES);
    glVertex3f(planeX0, planeY0 - 5, planeZ0 - 5);
    glVertex3f(planeX1, planeY1 - 5, planeZ1 - 5);
    glEND;
    

    Das Problem bei den Kurven ist, dass ich den Start- und Endpunkt der Kurve, sowie den Kreismittelpunkt. Jetzt ist meine Frage ob es eine Möglichkeit gibt die Kurve anhand dieser drei Punkte zu zeichnen. Wäre super wenn mir da jemand helfen könnte. Bin auch für andere Vorschläge offen.

    Vielen Dank schonmal!



  • Wenn es sich um einen Simulator handelt, dann liegt deiner "Kurve" eine Funktion zu Grunde, mit denen du die momentane Stelle einer Kurve zu jeder Zeit vorausberechnen kannst.

    Eine Funktion wie "Kurve mit dieser Biegung von hier nach hier zeichnen" gibts nicht, das heisst: du musst einfach genügend Punkte deines Graphen vorausberechnen und zwischen diesen Punkten dann einfach Linien zeichnen (GL_LINES).

    Wenn du allerdings - aus welchen Gründen auch immer - nur den Start und Endpunkt deiner "Kurve" kennst, dann bist du relativ verloren, es sei denn es handelt sich bei der Kurve einfach um nen Kreis.



  • Mir liegen lediglich die GPS Wegpunkte vor und anhand dieser sollte der Übergang zwischen 2 Flugschenkeln, also die Kurve berechnet werden, da das Flugzeug ja nicht direkt im Winkel abbiegen kann.

    Wie funktionieren den diese Splines? Ist dazu immer eine Funktion nötig?



  • Wie funktionieren den diese Splines?

    So


Anmelden zum Antworten