Operatoren |
affine_trans_object_model_3d — Anwenden einer beliebigen affinen 3D-Transformation auf 3D-Objektmodelle.
affine_trans_object_model_3d( : : ObjectModel3D, HomMat3D : ObjectModel3DAffineTrans)
affine_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 HomMat3D übergeben werden. Die Anzahl der Transformationsmatrizen ist entweder eins oder entspricht der Anzahl an 3D-Objektmodellen in ObjectModel3D.
Die Transformationsmatrizen können mit Hilfe der Operatoren hom_mat3d_identity, hom_mat3d_scale, hom_mat3d_rotate, hom_mat3d_translate etc. aufgebaut werden oder das Resultat von pose_to_hom_mat3d sein (siehe affine_trans_point_3d).
Der Operator affine_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_3d entsprechende Werte für die Parameter RefRotX , RefRotY , RefRotZ und OrderOfRotation 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 ObjectModel3DAffineTrans 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.
affine_trans_object_model_3d transformiert Attribute vom Typ Punktkoordinaten, Punktnormalen und vorbereitetem 3D-Formmodell für das formbasierte 3D-Matching. Alle anderen Attribute werden kopiert ohne sie zu verändern. Um 3D-Primitive zu transformieren, muss der Operator rigid_trans_object_model_3d verwendet werden.
Handle der 3D-Objektmodelle.
Transformationsmatrizen.
Handle der transformierten 3D-Objektmodelle.
affine_trans_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
project_object_model_3d, object_model_3d_to_xyz
affine_trans_point_3d, rigid_trans_object_model_3d, projective_trans_object_model_3d
3D Metrology
Operatoren |