LabVIEWForum.de
Automatische Drehung von 3D Punktewolke - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Automatische Drehung von 3D Punktewolke (/Thread-Automatische-Drehung-von-3D-Punktewolke)



Automatische Drehung von 3D Punktewolke - TabOne - 24.11.2012 08:25

Hallo,

dies ist eine Frage an die Mathematikgenies unter euch. Von einem 3D-Scanner habe ich eine Oberfläche aufgenommen, die später zur weiteren Analyse in LV Vision in ein höhencodiertes Graustufenbild umgewandelt werden soll. Leider ist die 3D Oberfläche im kartesischen Koordinatensystem immer unterschiedlich positioniert. Für eine Umwandlung in ein Graustufenbild sollte aber durch Drehen die rechteckige Oberfläche parallel zu den Achsen ausgerichtet sein, d.h. die Bandbreite der Werte der jeweiligen Achsen sollte ein Minimum erreichen. Im angehängten VI habe ich bereits durch manuelles Ausprobieren die optimalen Werte für die Drehung der Oberfläche im Raum ermittelt und in das Frontpanel geschrieben.
Meine Frage ist nun: Gibt es eine Möglichkeit wie LV die Optimalen Werte (Minimas der Bandbreiten) automatisch optimieren kann?

Vielen Dank,

TabOne


RE: Automatische Drehung von 3D Punktewolke - TabOne - 25.11.2012 13:18

Hallo,

ich habe es vielleicht in meinem letzten Beitrag etwas komplziert geschrieben. Im Prinzip benötige ich so etwas wie das MS Excel Solver Add-In. In dem angehängten VI habe ich von meiner 3D-Punktewolke die Fehlerquadrate der einzelnen Z-Achsenwerte berechnet. Dieser Wert soll irgendwie minimiert werden durch die automatische Optimierung der vier Rotate- und Shift- Parameter. Natürlich bietet LV die sog. OLE-Optimierer an, doch muss ich dort immer eine Formel angeben, die ich nicht habe. Gibt es evnt. eine externe "Solver.dll" die ich innerhalb meines VIs aufrufen könnte, um meine Parameter zu optimieren?

Herzlichen Dank schon mal im Vorraus für eure Hilfe.

TabOne


RE: Automatische Drehung von 3D Punktewolke - TabOne - 25.11.2012 22:31

Hurra, Problem gelöst!

Habe herausgefunden, dass sich dazu die sog. "Unconstrained Optimization VIs" als "Solver" eignen. Statt der Fomel werden hier Code als polymorphe VIs eingebunden.
Wundert mich, dass das hier niemand wusste.

Gruß,

TabOne


RE: Automatische Drehung von 3D Punktewolke - GerdW - 26.11.2012 08:49

Hallo TabOne,

du arbeitest doch auch schon seit 8+ Jahren mit LabVIEW und wusstest das noch nicht! Wink

Optimierungsalgorithmen werden anscheinend nicht so oft nachgefragt...


RE: Automatische Drehung von 3D Punktewolke - TabOne - 27.11.2012 07:13

Hallo GerdW,

anscheinend nicht Big Grin

Muss zu meiner Verteidigung sagen, dass ich mich in den acht Jahren für einen längeren Zeitraum nicht mit LV beschäftigt habe.

Gruß,

TabOne


RE: Automatische Drehung von 3D Punktewolke - jg - 27.11.2012 09:11

(25.11.2012 22:31 )TabOne schrieb:  Wundert mich, dass das hier niemand wusste.

(26.11.2012 08:49 )GerdW schrieb:  Optimierungsalgorithmen werden anscheinend nicht so oft nachgefragt...
Außerdem war für die meiste Zeit deiner Frage Wochenende, da ist im Normalfall nicht viel los im LVF. Pipe
Gruß, Jens