Punkte im 3D Raum plotten



  • Hallo!

    Ich möchte von meinem Programm Punkte in einem 3 dimensionalen System plotten. Das ganze muss nicht viel können, außer einfach zu sein. Bisher hab ich einfach den Output meines Programmes in eine Datei geschrieben (einfach pro Zeile 3 Koordinaten mit Leerzeichen getrennt) und diese dann in gnuplot geplottet, allerdings wär mir eine dynamischere Lösung doch lieber.

    Am besten wäre es, wenn ich einige Punkte paralell anzeigen könnte und diese dann wieder lösche und weitere anzeigen kann und so weiter.

    Gibts da etwas einfaches, oder eher nicht. Hab bereits im Internet gesucht, allerdings nicht viel gefunden, außer Verweise auf verschiedene Gamelibraries (SDL, Allegro), aber das wird mir dann eigentlich schon wieder zu aufwändig (vor allem ist es, so weit ich gesehen habe von der SDL ja gar nicht direkt möglich 3d Punkte zu plotten!?)

    Laufen sollte das ganze unter C und Linux (wenns geht wärs auch schön wenns unter Windows auch ginge, wobei das nicht so wichtig ist).

    Herrzlichen Dank

    schneida



  • Hmm. Es gibt sehr viele Möglichkeiten.
    Z.B könntest du sicher auch was mit einem 3D Modellierungsprogramm machen (z.B Blender) und da deine Daten füttern und das macht dir dann ein paar Kugeln an die Positionen.

    Das könntest du auch relativ einfach mit einem Framework, wie z.b Ogre o.ä. hinkriegen, ist aber bestimmt aufwändiger.



  • Aber kann ich mit Blenden nicht erst recht wieder nur den in eine Datei gepipten Output des Programms nehmen, oder gibts da ein Library?

    Wer mir ogre mal anschauen, danke für den Tipp.



  • Ja. Ich denke, dass man da wohl ein File als Input geben kann und dann das (mittels eines Skriptes) den 3D Output steuern. Das sollte gehen. Blender soll ja recht gut mit Python bedienbar sein. (habe es noch nie gemacht, wäre aber ein Ansatz).

    Wenn die Ogre nicht passt, kannst du ja auch mal Irrlicht anschauen. Sind halt beides Game Engines, aber damit kann man das sicher ganz nett darstellen und sich auch gleich im Raum bewegen.



  • Andere Sprachen sind leider keine Option und vom Importieren der Daten wollt ich eigentlich wegkommen. Ogre und Irrlicht haben auch nur C++ Interfaces, also auch nicht wirklich eine Option, leider.



  • Du könntest das evtl. auch recht einfach direkt mit OpenGL machen.
    Das ist unter Linux verfügbar, eine reine C Schnittstelle und für deine Zwecke könnte es reichen die paar Punkte einfach mit der Immediate Mode API zu malen...


Anmelden zum Antworten