Name
smallest_bounding_box_object_model_3dT_smallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d — Berechnen des kleinsten umschließenden Quaders eines 3D-Objektmodells.
void SmallestBoundingBoxObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Type, HTuple* Pose, HTuple* Length1, HTuple* Length2, HTuple* Length3)
static HPoseArray HObjectModel3D::SmallestBoundingBoxObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Type, HTuple* Length1, HTuple* Length2, HTuple* Length3)
HPose HObjectModel3D::SmallestBoundingBoxObjectModel3d(const HString& Type, double* Length1, double* Length2, double* Length3) const
HPose HObjectModel3D::SmallestBoundingBoxObjectModel3d(const char* Type, double* Length1, double* Length2, double* Length3) const
static void HOperatorSet.SmallestBoundingBoxObjectModel3d(HTuple objectModel3D, HTuple type, out HTuple pose, out HTuple length1, out HTuple length2, out HTuple length3)
static HPose[] HObjectModel3D.SmallestBoundingBoxObjectModel3d(HObjectModel3D[] objectModel3D, string type, out HTuple length1, out HTuple length2, out HTuple length3)
HPose HObjectModel3D.SmallestBoundingBoxObjectModel3d(string type, out double length1, out double length2, out double length3)
smallest_bounding_box_object_model_3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d berechnet aus einem
3D-Objektmodell den kleinsten umschließenden Quader.
Das Ergebnis wird mit einer Pose und drei Längen beschrieben. Der Quader
wird über ein Koordinatensystem im Raum bestimmt (PosePosePosePosePosepose), das
seine x-Achse entlang der längsten Seite des Quaders hat, die y-Achse
entlang der zweitlängsten Seite und die z-Achse entlang der drittlängsten
Seite.
Die Längen werden in den jeweiligen Parametern Length1Length1Length1Length1Length1length1,
Length2Length2Length2Length2Length2length2 und Length3Length3Length3Length3Length3length3 zurückgegeben.
Es gibt zwei verschiedene Berechnungsarten für den kleinsten umschließenden
Quader:
- 'oriented'"oriented""oriented""oriented""oriented""oriented":
Sucht nach einer Annäherung des kleinsten
orientierten umschließenden Quader. Die Berechnung ist vergleichsweise
aufwendig. Das entsprechende Verfahren ist randomisiert und kann daher
bei jedem Aufruf eine anderen orientierte umschließenden Quader
zurückliefern.
- 'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned""axis_aligned":
Bildet aus den maximalen Ausdehnungen des
3D-Objektmodells entlang der Koordinatenachsen einen umschließenden
Quader.
Um nur die Ecken des Quaders im Falle 'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned""axis_aligned" zu erhalten,
kann alternativ der Operator get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams mit dem
Parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1""bounding_box1" verwendet werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Handle der 3D-Objektmodelle, das 3D-Punkte
enthält.
Methode zur Berechnung des Quaders.
Defaultwert:
'oriented'
"oriented"
"oriented"
"oriented"
"oriented"
"oriented"
Werteliste: 'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned""axis_aligned", 'oriented'"oriented""oriented""oriented""oriented""oriented"
Die errechnete Lage des Zentrums des Quaders
im Raum.
Die Länge der längsten Seite des Quaders
entlang der x-Achse der errechneten Pose.
Parameteranzahl: Length1 == ObjectModel3D
Die Länge der zweitlängsten Seite des Quaders
entlang der y-Achse der errechneten Pose.
Parameteranzahl: Length2 == ObjectModel3D
Die Länge der drittlängsten Seite des Quaders
entlang der z-Achse der errechneten Pose.
Parameteranzahl: Length3 == ObjectModel3D
gen_object_model_3d_from_points (rand(20), rand(20), rand(20), \
ObjectModel3D)
smallest_bounding_box_object_model_3d (ObjectModel3D, 'oriented', \
Pose, Length1, Length2, Length3)
gen_box_object_model_3d (Pose, Length1, Length2, Length3, ObjectModel3D1)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3D,ObjectModel3D1], \
[], [], ['alpha_1'], [0.5], [], [], [], PoseOut)
smallest_bounding_box_object_model_3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d liefert den Wert 2 (H_MSG_TRUE) wenn alle
Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3d,
simplify_object_model_3dsimplify_object_model_3dSimplifyObjectModel3dsimplify_object_model_3dSimplifyObjectModel3dSimplifyObjectModel3d
gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3d
smallest_sphere_object_model_3dsmallest_sphere_object_model_3dSmallestSphereObjectModel3dsmallest_sphere_object_model_3dSmallestSphereObjectModel3dSmallestSphereObjectModel3d
3D Metrology