affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d (Operator)
Name
affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d
— Anwenden einer beliebigen affinen 3D-Transformation auf
3D-Objektmodelle.
Signatur
Beschreibung
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d
wendet beliebige affine
3D-Transformationen (Skalierung, Drehung, Verschiebung) auf
3D-Objektmodelle an und liefert den Handle der transformierten
3D-Objektmodelle zurück. Die Transformation wird durch eine oder
mehrere homogene Transformationsmatrizen beschrieben, die in
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d
übergeben werden. Die Anzahl der
Transformationsmatrizen ist entweder eins oder entspricht der
Anzahl an 3D-Objektmodellen in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
.
Die Transformationsmatrizen können mit Hilfe der Operatoren
hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity
, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale
,
hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate
, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate
etc.
aufgebaut werden oder das Resultat von pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d
sein (siehe affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d
).
Der Operator affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d
wird in der Regel
nicht für das 3D-Matching benötigt. Falls dort eine Rotation des
3D-Objektmodells in eine Referenzorientierung erfolgen soll, wird
empfohlen, stattdessen in create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3dcreate_shape_model_3d
entsprechende Werte für die Parameter RefRotXRefRotXRefRotXRefRotXrefRotXref_rot_x
,
RefRotYRefRotYRefRotYRefRotYrefRotYref_rot_y
, RefRotZRefRotZRefRotZRefRotZrefRotZref_rot_z
und OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation
zu übergeben.
Der Operator unterstützt ein oder mehrere 3D-Objektmodelle mit einer
Transformationsmatrix (N:1), ein 3D-Objektmodell mit ein oder mehreren
Transformationsmatritzen (1:N) sowie eine Transformationsmatrix pro
übergebenem 3D-Objektmodell, die dann nur auf das jeweilige
3D-Objektmodell angewandt wird (N:N). Dabei kann N auch für 0 stehen, d.h.
es kann keine Matrix oder kein Objektmodell übergeben werden, in welchem
Fall in ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTransobject_model_3daffine_trans
ein leeres Tupel zurückgegeben
wird. Dies kann z.B. verwendet werden, um die Ergebnisse von anderen
Operatoren zu transformieren, ohne vorher zu prüfen ob tatsächlich
mindestens ein Ergebnis vorhanden ist.
Achtung
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d
transformiert Attribute vom Typ
Punktkoordinaten, Punktnormalen und vorbereitetem 3D-Formmodell
für das formbasierte 3D-Matching. 3D-Primitive und vorberechnete
Datenstrukturen für die 3D Abstandsbestimmung werden nicht kopiert.
Alle anderen Attribute werden
kopiert ohne sie zu verändern. Um 3D-Primitive zu transformieren,
muss der Operator rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3d
verwendet
werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
(input_control) object_model_3d(-array) →
HObjectModel3D, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der 3D-Objektmodelle.
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d
(input_control) hom_mat3d(-array) →
HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Transformationsmatrizen.
ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTransobject_model_3daffine_trans
(output_control) object_model_3d(-array) →
HObjectModel3D, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der transformierten 3D-Objektmodelle.
Ergebnis
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d
liefert den Wert TRUE wenn alle
Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung
durchgeführt.
Vorgänger
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d
,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
Nachfolger
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d
,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz
Siehe auch
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d
,
rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3d
,
projective_trans_object_model_3dprojective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dprojective_trans_object_model_3d
Modul
3D Metrology