Vorschläge für GUI der wissenschaftlichen Anwendung

Die wissenschaftliche Anwendung mit rechenintensivem Code benötigt eine GUI. Der Zweck ist die numerische Simulation auf Gittern mit Fließkommadaten. Anforderungen sind folgende:

  1. Laden/Speichern von Berechnungsgittern (Gleitkomma-Arrays) in verschiedenen Formaten
  2. Schöne Visualisierung mit Koordinaten, Maßstabsleisten, Slices (wie Paraview oder MayaVi)
  3. Möglichkeit, einige Bereiche im Raster mit einigen Werten zu füllen. Interpolation, Kopieren und Einfügen von Teilen von Arrays (mit beliebiger Form)
  4. Möglichkeit, eigene Primitiven (Punkte, Pfeile) zu setzen, eigene Steuerungselemente (Buttons, Textfelder etc.)

Die Frage ist, welche Technologien dieses Problem mit geringem Zeitaufwand lösen können. Natürlich ist es möglich, alles in OpenGL zu codieren, aber vielleicht gibt es für diese Aufgabe besser geeignete Technologien.

Ich ziehe die VTK-Bibliothek in Betracht, aber sie scheint besser für die Visualisierung von Objekten geeignet zu sein, die sich nicht ändern, indem sie in Echtzeit bearbeitet werden. Es kann also langsam werden. Oder liege ich hier vielleicht falsch?

Sollte ich erwägen, eine GUI-Bibliothek wie QT oder GTK zu verwenden?

Vielleicht sollte diese Anwendung im Browser sein, aber ich denke, dass es ein Problem mit der Übertragung von Daten zum/vom Server geben wird. Vielleicht gibt es Lösungen, um es schnell zu machen?

Antworten (2)

Die QVTKWidget- Klasse bietet das Beste aus beiden Welten: Verwenden Sie die Visualisierungsmöglichkeiten von VTK und betten Sie sie in ein Qt-basiertes GUI-Fenster mit Menüs und Dialogen ein.

Theoretisch könnte dasselbe in einem Browser möglich sein, indem WebGL und WebSockets verwendet werden. Bei vertretbarem Datendurchsatz sogar. Aber es wird weniger vorgefertigte Visualisierungselemente zur Auswahl geben. Zumindest zum Zeitpunkt des Schreibens.

Es scheint der geeignetste Fall für mein Problem zu sein. Momentan habe ich meine Suche mit genau dieser Kombination (Qt + VTK) eingestellt. Seit VTK 8.0 heißt es jedoch QVTKOpenGLWidget statt QVTKWidget.

Tkinter wird verwendet, um GUI-Wrapper um Python-Code zu erstellen. Das Tkinter-Modul („Tk-Schnittstelle“) ist die Standard-Python-Schnittstelle zum Tk-GUI-Toolkit. Es ist objektorientiert und plattformübergreifend. Läuft auf dem Mac unter dem Unix-System. Sehen Sie sich auch tcl/tk zum Programmieren von Desktop-Apps an. Von einer tcl/tk-Site: Tcl ist eine Programmiersprache für Mehrzwecksysteme mit mehreren Paradigmen. Es ist eine Skriptsprache, die darauf abzielt, Anwendungen die Möglichkeit zu geben, miteinander zu kommunizieren. Auf der anderen Seite ist Tk ein plattformübergreifendes Widget-Toolkit, das zum Erstellen von GUI in vielen Sprachen verwendet wird.