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.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
ObjectModel3D (input_control) object_model_3d(-array) → (handle)
Handle eines 3D-Objektmodells.
Feature (input_control) string(-array) → (string)
Attribut, aufgrund dessen die Zusammenhangskomponenten berechnet werden.
Defaultwert: 'distance_3d'
Werteliste: 'angle', 'distance_3d', 'distance_mapping', 'lines', 'mesh'
Value (input_control) number(-array) → (real / integer)
Obere Schranke für den Abstand zweier Zusammenhangskomponenten.
Defaultwert: 1.0
Wertevorschläge: 1.0, 1.1, 1.5, 10.0, 100.0
ObjectModel3DConnected (output_control) object_model_3d-array → (handle)
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