[OpenGL] Vektorfelder



  • Hallo,

    ich suche nach einer Möglichkeit unter OpenGl Vektorfelder darzustellen. In Matlab (Simulationsprogramm) gibts dafür den netten Befehl quiver(x,y,dx,dy)
    wobei die x,y Koordinaten den Punkt beschreiben an dem der Vektorpfeil anliegt und dx,dy geben Richtung und Länge vor.
    Klar könnte man eine Funktion schreiben, die das macht, aber falls es schon was vorgefertigtes geben sollte, wird dieses sicher wesentlich schneller laufen (weil schon optimiert...).

    Wäre nett, wenn irgendwer eine Idee hat.

    Gruss und Dank im Voraus,
    der Ice



  • Mit GL_LINES zeichnen?
    Oder je nach Anwendung nen schoenen Pfeil in ne Displaylist packen und beim ausgeben mit glRotate ausrichten.

    Gruss an Elvis 😉



  • Hallo,

    danke für Deine Antwort. Das Problem mit dem Pfeil in der Displayliste ist halt, dass die Vektoren alle unterschiedlich lang sind und ich die Länge zur Laufzeit berechne... Von daher scheidet das leider aus.

    Gruss der Icebear



  • Ne Funktion zum Pfeilzeichnen gibts nicht. Aber den Pfeil könntest du, wenn er in ner Displaylist ist, nicht nur mit glRotate drehen, sondern auch mit glScale auf gewünschte Länge bringen. Musst das scale nur nach dem rotate aufrufen, und nur entlang einer Achse, auf der der Pfeil liegen sollte, verschieben.


Anmelden zum Antworten