LabVIEWForum.de
Wie 3D Graph in Linux portieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Wie 3D Graph in Linux portieren (/Thread-Wie-3D-Graph-in-Linux-portieren)



Wie 3D Graph in Linux portieren - Gabs - 18.07.2007 15:27

Hallo,
kann mir jemand sagen, ob es eine einfache Möglichkeit gibt, den 3D Graph Active X Container von Windows in eine Nicht-Active-X-Variante für Linux zu portieren? Ich habe ein Vi, das einen ganz einfachen 3D-Intensitätsgraphen (Intensität über x-y-Feld) mit dem "3D Surface.vi" darstellt und die gewünschten Projektionseinstellungen über die entsprechenden Controls zuläßt. Da unter Linux Active-X ja nicht geht, suche ich nach einer einfachen Möglichkeit, das VI umzuschreiben. Ich habe mir das 3D Picture Toolkit angesehen, das frei verfügbar ist, hab jedoch keine Ahnung wie man dort schnell und einfach ein Array von Punkten als 3D Grafik darstellen kann (die Beispiele sind alles irgendwelche geometrischen Körper, die erzeugt werden). Auch habe ich gelesen, daß unter LabVIEW 8.2 ein neues 3D Graph Modul zur Verfügung steht, das auf OpenGL basiert - jedoch erscheint mir das ebenfalls recht kompliziert und eher für das Rendern von 3D Objekten gedacht. Hat jemand ein einfaches Beispiel, wie ich mein Problem lösen kann (Intensitätsfeld über x-y auftragen, mit der Maus den Blickwinkel verändern können)?
Viele Grüße,
Gabs


Wie 3D Graph in Linux portieren - eg - 18.07.2007 15:43

Ich glaube, du hast echt ein Problem. Was ich dir vorschlagen wollte, hast du schon in deinem Beitrag beschrieben. Mehr weiss ich leider auch nicht. Es würde mich aber wirklich sehr interessieren. Wenn du etwas interessantes zum Thema findest, melde dich bitte.

Wissen vielleicht andere was dazu?

eg


Wie 3D Graph in Linux portieren - dc6xs - 18.07.2007 15:43

' schrieb:Hallo,
kann mir jemand sagen, ob es eine einfache Möglichkeit gibt, den 3D Graph Active X Container von Windows in eine Nicht-Active-X-Variante für Linux zu portieren? Ich habe ein Vi, das einen ganz einfachen 3D-Intensitätsgraphen (Intensität über x-y-Feld) mit dem "3D Surface.vi" darstellt und die gewünschten Projektionseinstellungen über die entsprechenden Controls zuläßt. Da unter Linux Active-X ja nicht geht, suche ich nach einer einfachen Möglichkeit, das VI umzuschreiben. Ich habe mir das 3D Picture Toolkit angesehen, das frei verfügbar ist, hab jedoch keine Ahnung wie man dort schnell und einfach ein Array von Punkten als 3D Grafik darstellen kann (die Beispiele sind alles irgendwelche geometrischen Körper, die erzeugt werden). Auch habe ich gelesen, daß unter LabVIEW 8.2 ein neues 3D Graph Modul zur Verfügung steht, das auf OpenGL basiert - jedoch erscheint mir das ebenfalls recht kompliziert und eher für das Rendern von 3D Objekten gedacht. Hat jemand ein einfaches Beispiel, wie ich mein Problem lösen kann (Intensitätsfeld über x-y auftragen, mit der Maus den Blickwinkel verändern können)?
Viele Grüße,
Gabs


Hi Gabs,

muss es denn wirklich mit der Mouse veränderbare Winkel geben?
Ansonsten gnuplot per systemexec gescriptet aufrufen. Vorher natürlich noch die Daten in ein passendes Format als Datei speichern.

Eventuell könnte man ja auch sowas mit der Mesa-Lib(OpenGL-lib für Unix/Linux) machen.

Gruß, Rob


Wie 3D Graph in Linux portieren - Gabs - 18.07.2007 16:27

Hallo Rob,
ich hatte halt gehofft, eine ähnliche Funktionalität wie unter Windows zu erhalten. Eigentlich ist das doch auch eine ganz simple Standard-Anforderung für die Datenvisualisierung, nur halt unter Linux... z.B. um ein Intensitäts-Datenfeld (z.B. Gauß-Kurve) darzustellen. Hat denn niemand ein Beispiel-VI dafür???
Viele Grüße,
Gabs


Wie 3D Graph in Linux portieren - rolfk - 19.07.2007 09:30

' schrieb:Hallo Rob,
ich hatte halt gehofft, eine ähnliche Funktionalität wie unter Windows zu erhalten. Eigentlich ist das doch auch eine ganz simple Standard-Anforderung für die Datenvisualisierung, nur halt unter Linux... z.B. um ein Intensitäts-Datenfeld (z.B. Gauß-Kurve) darzustellen. Hat denn niemand ein Beispiel-VI dafür???
Viele Grüße,
Gabs

Also das ist alles andere als simpel. Der 3D Picture Control ist dafür aber nicht nötig und benützt übrigens OpenGL als darunterliegendes API allerdings innerhalb des Picture Controls also nicht direkt vom LabVIEW Diagramm aus. Dieses Control ist echt mehr für Visualisierung von 3D Objekten wie sie etwa in Virtual Reality Umgebungen benützt werden. Hat ja auch eine Möglichkeit um WRL Files einzulesen.

Die einzige Lösung innerhalb von LabVIEW ist das alles auf Basis des Picture Controls (ohne 3D Features) selber zu programmieren. Nicht gerade trivial aber sicher möglich. Schau Dir am besten einmal die Beispiel an wie etwa das Smith-Plot, Polar-Plot oder dergleichen in examplespicturedemos.llb. Aber einen guten 3D Oberflächenplot auf diese Weise zu machen ist sicher ziemlich was Arbeit. Und ich glaube dass sich wohl die meisten nicht an so was gewagt haben bis jetzt und wenns einer denn getan hat will er wohl Geld dafür sehen.
Ich hoffe noch immer dass NI irgendwann ein native 3D Graph Control in LabVIEW einbaut. Der Code dazu ist zwar sicher nicht trivial aber prinzipiel im 3D ActiveX Control ja schon anwesend, sollte also nicht ein Lebenswerk sein um das als native Control in LabVIEW zu kriegen und damit auf allen Plattformen und ohne ActiveX Spezialverhalten verfügbar zu machen.

Ansonsten externe Tools! Gnuplot ist sicher eine interessante Variante wenn es nur um die Visualisierung geht.

Rolf Kalbermatter


Wie 3D Graph in Linux portieren - Gabs - 19.07.2007 10:05

Hallo,
danke vielmals für Eure Antworten. Daß es dafür von NI noch immer keine vernünftige Lösung gibt, wußte ich nicht Grrr. So werden wir das Problem wohl über eine externe Bibliothek lösen, die wir für andere (nicht-LabVIEW-) Programme eh benötigen. Ich finde das nur schade, weil es mit einem "externen" Fenster verbunden ist, und LabVIEW in puncto Datenvisualisierung eigentlich die Nase vorn haben sollte.......
Trotz allem, danke für Eure Tipps.
Viele Grüße,
Gabs