| Operatoren |
surface_normals_object_model_3d — Berechnet die 3D-Oberflächennormalen eines 3D-Objektmodells.
surface_normals_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)
Der Operator surface_normals_object_model_3d berechnet die 3D-Oberflächennormalen eines Objekts ObjectModel3D. Die Berechnung wird mit dem in Method gewählten Verfahren durchgeführt.
Für Method='mls' wird das Verfahren Moving Least Squares (MLS) angewandt. Das MLS-Verfahren für Normalenberechnung ist identisch zu dem MLS-Verfahren für Punktglättung, das im Operator smooth_object_model_3d implementiert ist. Anders als smooth_object_model_3d glättet der Operator surface_normals_object_model_3d die Punkte allerdings nicht, d.h. die ursprünglichen 3D-Punkte von ObjectModel3D bleiben unverändert. Weitere Information über das MLS-Verfahren und seine Parameter stehen mit der Beschreibung des Operators smooth_object_model_3d zur Verfügung.
Beinhaltet das Objekt ObjectModel3D Dreiecke, können mit dem Verfahren Method='triangles' die Punktnormalen aus den Flächennormalen der angrenzenden Dreiecke berechnet werden. Die Flächennormalen werden dabei mit dem Winkel gewichtet, den die Dreiecke an dem Punkt umschließen.
Beinhaltet das Objekt ObjectModel3D ein 2D-Mapping (wie z.B. 3D-Objektmodelle, die mittels xyz_to_object_model_3d erstellt wurden), können mit dem Verfahren Method='xyz_mapping' die Punktnormalen aus der Umgebung der Punkte im 2D-Mapping berechnet werden. Dazu wird in einer 5x5-Nachbarschaft der Punkte im 2D-Mapping eine Ebene durch die zugehörigen 3D-Punkte gefittet. Die Richtung der Normale dieser Ebene wird anschließend konsistent zum 2D-Mapping gewählt, z.B. in oder entgegen der Blickrichtung des Sensors.
Kann der Normalenvektor eines Punktes nicht bestimmt werden, so wird dieser auf 0 gesetzt. Dies ist beispielsweise der Fall, wenn das 3D-Objektmodell den gleichen Punkt mehr als 'mls_kNN' mal enthält.
Wenn ein 3D-Objektmodell überschrieben werden soll oder es nicht länger benötigt wird, muss der Speicher durch Aufrufen des Operators clear_object_model_3d freigegeben werden.
This operator supports cancelling timeouts.
Handle eines 3D-Objektmodells mit 3D-Punktdaten.
Methode für Normalenberechnung.
Defaultwert: 'mls'
Werteliste: 'mls', 'triangles', 'xyz_mapping'
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'mls_abs_sigma', 'mls_force_inwards', 'mls_kNN', 'mls_order', 'mls_relative_sigma'
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: 10, 20, 40, 60, 0.1, 0.5, 1.0, 2.0, 0, 1, 2, 'true', 'false'
Handle des 3D-Objektmodells mit berechneten 3D-Normalen.
3D Metrology
| Operatoren |