Operatoren |
connection_object_model_3d — Berechnen der Zusammenhangskomponenten eines 3D-Objektmodells.
connection_object_model_3d( : : ObjectModel3D, Feature, Value : ObjectModel3DConnected)
connection_object_model_3d berechnet innerhalb des 3D-Objektmodells ObjectModel3D die Zusammenhangskomponenten. Der Zusammenhang zweier Komponenten wird mithilfe eines Attributs und einem darauf definierten Distanzmaß ermittelt, das durch den Parameter Feature festgelegt wird:
Alle Punkte, deren euklidischer Abstand zueinander kleiner als Value ist, werden als zusammenhängend angesehen.
Punkte werden als zusammenhängend angesehen, falls der Winkel zwischen den Normalen der Punkte kleiner als Value ist. Value wird in Bogenmaß angegeben und muss zwischen 0 und pi liegen.
Voraussetzung: Das 3D-Objektmodell muss Normalen enthalten. Diese können mit surface_normals_object_model_3d berechnet werden.
Punkte werden als zusammenhängend angesehen, falls der Abstand zwischen den im Pixel-Mapping gespeicherten Pixel kleiner ist als Value. Um das gleiche Verhalten wie im Operator connection zu erhalten und eine 8-er Nachbarschaft zu erhalten, sollte für Value ein Wert größer als 1.5 angegeben werden.
Voraussetzung: Das 3D-Objektmodell muss Pixel-Mapping enthalten. Das ist der Fall, wenn das 3D-Objektmodell mit xyz_to_object_model_3d erstellt wurde.
Bestimmt die Zusammenhangskomponenten in der Vermaschung des 3D-Objektmodells. Ein Dreieck oder Polygon verbindet hierbei mehrere 3D-Punkte zu einer Zusammenhangskomponente. Gibt es zwei Polygone, die den selben Punkt enthalten, werden alle Punkte beider Polygone zu einer Zusammenhangskomponente zusammengefasst.
Voraussetzung: Das 3D-Objektmodell muss trianguliert worden sein, was mit triangulate_object_model_3d erreicht werden kann. Falls das 3D-Objektmodell schon ein Pixel-Mapping enthält, kann alternativ auch prepare_object_model_3d genutzt werden, um das 3D-Objekt schnell zu triangulieren. Hierbei ist der Parameter Purpose auf den Wert 'segmentation' zu setzen.
Bestimmt die Zusammenhangskomponenten bezüglich der enthaltenen Linienzüge des 3D-Objektmodells.
Voraussetzung: Das 3D-Objektmodell muss Linienzüge enthalten. Diese können mit intersect_plane_object_model_3d berechnet werden.
Die benötigten Attribute können auch manuell mit set_object_model_3d_attrib oder set_object_model_3d_attrib_mod gesetzt werden. Es ist möglich, dass 3D-Objektmodell bereits die benötigten Attribute enthält, insbesondere, wenn es mit read_object_model_3d eingelesen wurde, oder mit deserialize_object_model_3d deserialisiert wurde. Um zu überprüfen, ob das benötigte Attribut vorhanden ist, kann get_object_model_3d_params genutzt werden.
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.
Handle eines 3D-Objektmodells.
Attribut, aufgrund dessen die Zusammenhangskomponenten berechnet werden.
Defaultwert: 'distance_3d'
Werteliste: 'angle' , 'distance_3d' , 'distance_mapping' , 'lines' , 'mesh'
Obere Schranke für den Abstand zweier Zusammenhangskomponenten.
Defaultwert: 1.0
Wertevorschläge: 1.0, 1.1, 1.5, 10.0, 100.0
Handle der 3D-Objektmodelle der Zusammenhangskomponenten.
gen_object_model_3d_from_points (rand(100), rand(100),\ rand(100), ObjectModel3D) connection_object_model_3d (ObjectModel3D, 'distance_3d', 0.2,\ ObjectModel3DConnected) dev_get_window (WindowHandle) visualize_object_model_3d (WindowHandle, [ObjectModel3DConnected], [], [],\ ['colored'], [12], [], [], [], PoseOut)
connection_object_model_3d liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.
read_object_model_3d, xyz_to_object_model_3d, select_points_object_model_3d
project_object_model_3d, object_model_3d_to_xyz
3D Metrology
Operatoren |