KlassenKlassenKlassenKlassen | | | | Operatoren

affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d (Operator)

Name

affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d — Anwenden einer beliebigen affinen 3D-Transformation auf 3D-Objektmodelle.

Signatur

affine_trans_object_model_3d( : : ObjectModel3D, HomMat3D : ObjectModel3DAffineTrans)

Herror T_affine_trans_object_model_3d(const Htuple ObjectModel3D, const Htuple HomMat3D, Htuple* ObjectModel3DAffineTrans)

Herror affine_trans_object_model_3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, Hlong* ObjectModel3DAffineTrans)

Herror affine_trans_object_model_3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DAffineTrans)

HTuple HObjectModel3D::AffineTransObjectModel3d(const HTuple& HomMat3D) const

void AffineTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DAffineTrans)

static HObjectModel3DArray HObjectModel3D::AffineTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HHomMat3DArray& HomMat3D)

HObjectModel3D HObjectModel3D::AffineTransObjectModel3d(const HHomMat3D& HomMat3D) const

void HOperatorSetX.AffineTransObjectModel3d(
[in] VARIANT ObjectModel3D, [in] VARIANT HomMat3d, [out] VARIANT* ObjectModel3DAffineTrans)

IHObjectModel3DX* HObjectModel3DX.AffineTransObjectModel3d([in] IHHomMat3DX* HomMat3d)

static void HOperatorSet.AffineTransObjectModel3d(HTuple objectModel3D, HTuple homMat3D, out HTuple objectModel3DAffineTrans)

static HObjectModel3D[] HObjectModel3D.AffineTransObjectModel3d(HObjectModel3D[] objectModel3D, HHomMat3D[] homMat3D)

HObjectModel3D HObjectModel3D.AffineTransObjectModel3d(HHomMat3D homMat3D)

Beschreibung

affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d 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 HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D übergeben werden. Die Anzahl der Transformationsmatrizen ist entweder eins oder entspricht der Anzahl an 3D-Objektmodellen in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D.

Die Transformationsmatrizen können mit Hilfe der Operatoren hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate etc. aufgebaut werden oder das Resultat von pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d sein (siehe affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d).

Der Operator affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d 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_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d entsprechende Werte für die Parameter RefRotXRefRotXRefRotXRefRotXRefRotXrefRotX, RefRotYRefRotYRefRotYRefRotYRefRotYrefRotY, RefRotZRefRotZRefRotZRefRotZRefRotZrefRotZ und OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotation 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 ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTrans 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_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d 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_3drigid_trans_object_model_3dRigidTransObjectModel3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3d verwendet werden.

Parallelisierung

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle der 3D-Objektmodelle.

HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d(-array) HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Transformationsmatrizen.

ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTrans (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle der transformierten 3D-Objektmodelle.

Ergebnis

affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d

Nachfolger

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz

Siehe auch

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d, rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3d, projective_trans_object_model_3dprojective_trans_object_model_3dProjectiveTransObjectModel3dprojective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren