grafische ausgabe von matrizen



  • gudn tach!

    ich lasse in einem c++-programm eine matrix berechnen, deren komponenten sich staendig (ein paar mal pro sekunde) aendern. diese matrix vom typ double** wuerde ich nun gerne waehrend des programmablaufs grafisch darstellen.
    bisher habe ich zum darstellen von funktionen ein tool namens mathplot benutzt, welches eine kopplung zu matlab ist. allerdings ist das nur fuer wenige einzelne bilder gemacht, laeuft schweinelangsam und nur unter linux.

    ich haette aber gerne die moeglichkeit, sowohl unter linux als auch unter windows matrizen darzustellen.

    ein besonderer clou waere zudem noch die moeglichkeit, vektorfelder, angedeutet durch kleine pfeile, zu visualisieren.

    welche kostenlosen moeglichkeiten gibt es da so?

    sollte ich noch irgendwelche weiteren informationen dazu geben?
    als compiler verwende ich z.zt. g++.

    (ist die frage in diesem unter-board richtig?)

    prost
    seth



  • Tach!

    Wie bitte willst Du die denn genau darstellen?!?! 😕



  • gudn tach!

    ich moechte den kram auf mehrere arten darstellen.

    1.
    gegeben ist z.b. eine matrix wie

    [1 4 2]
    [2 4 1]
    [3 3 1]
    

    (in wirklichkeit sind die matrizen groesser).
    die komponenten sind werte zu koordinaten von gitterpunkten in einem aequidistanten gitter.
    mir waere schon geholfen, wenn ich die komponenten durch punkte oder flaechen darstellen koennte, wobei unterschiedliche werte durch verschiedene farben (oder graustufen) verdeutlicht werden sollen.
    also auf dem bildschirm dann sowas wie

    weiss      schwarz    hellgrau
    hellgrau   schwarz    weiss   
    dunkelgrau dunkelgrau weiss
    

    2.
    gegeben sind nun zwei solche matrizen wie oben. in der ersten stehen geschwindigkeitskomponenten in x-richtung, in der zweiten stehen geschwindigkeitskomponenten in y-richtung.
    zusammen ergeben die beiden matrizen ein 2d-vektorfeld. um dieses darzustellen waere es optimal, wenn ich lauter kleine pfeile (mit unterschiedlichen laengen und winkeln) malen lassen koennte.

    beide daten (1. und 2.) werden ein paar mal pro sekunde erneuert und sollen sogleich wieder grafisch ausgegeben werden. (wenn moeglich gleichzeitig in einem bild.)

    waere nicht schlecht, wenn ich zur laufzeit schon ein paar sichtbare zwischenergebnisse haette.
    falls das alles nicht klappen sollte, werde ich die daten wohl auf der platte zwischenspeichern muessen und erst _nach_ ablauf des programms in matlab einlesen. fragt sich dann bloss noch, ob die festplatte das mitmacht. 😉

    prost
    seth


Anmelden zum Antworten