KlassenKlassenKlassenKlassen | | | | Operatoren

affine_trans_point_3dT_affine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d (Operator)

Name

affine_trans_point_3dT_affine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d — Wendet eine beliebige affine 3D-Transformation auf Punkte an.

Signatur

affine_trans_point_3d( : : HomMat3D, Px, Py, Pz : Qx, Qy, Qz)

Herror T_affine_trans_point_3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)

Herror affine_trans_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, double* Qx, double* Qy, double* Qz)

Herror affine_trans_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)

void AffineTransPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)

HTuple HHomMat3D::AffineTransPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qy, HTuple* Qz) const

double HHomMat3D::AffineTransPoint3d(double Px, double Py, double Pz, double* Qy, double* Qz) const

void HOperatorSetX.AffineTransPoint3d(
[in] VARIANT HomMat3d, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qx, [out] VARIANT* Qy, [out] VARIANT* Qz)

VARIANT HHomMat3DX.AffineTransPoint3d(
[in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qy, [out] VARIANT* Qz)

static void HOperatorSet.AffineTransPoint3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy, out HTuple qz)

HTuple HHomMat3D.AffineTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple qy, out HTuple qz)

double HHomMat3D.AffineTransPoint3d(double px, double py, double pz, out double qy, out double qz)

Beschreibung

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d wendet eine beliebige affine 3D-Transformation (Skalierung, Drehung, Verschiebung) auf die Eingabepunkte (PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz) an und liefert die Ergebnispunkte in (QxQxQxQxQxqx,QyQyQyQyQyqy,QzQzQzQzQzqz) zurück. Die Transformation wird durch eine homogene Transformationsmatrix beschrieben, die in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D übergeben wird. Dies entspricht der folgenden Gleichung (Ein- und Ausgabepunkte als homogene Vektoren dargestellt):

Die Transformationsmatrix kann 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.

Falls zum Beispiel HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D eine starre Transformation ist, also aus Rotation und Translation besteht, werden die Punkte folgendermaßen transformiert:

Parallelisierung

Parameter

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

Eingabe-Transformationsmatrix.

PxPxPxPxPxpx (input_control)  point3d.x(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt(e) (x-Koordinate).

Defaultwert: 64

Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024

PyPyPyPyPypy (input_control)  point3d.y(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt(e) (y-Koordinate).

Defaultwert: 64

Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024

PzPzPzPzPzpz (input_control)  point3d.z(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt(e) (z-Koordinate).

Defaultwert: 64

Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024

QxQxQxQxQxqx (output_control)  point3d.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt(e) (x-Koordinate).

QyQyQyQyQyqy (output_control)  point3d.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt(e) (y-Koordinate).

QzQzQzQzQzqz (output_control)  point3d.z(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt(e) (z-Koordinate).

Ergebnis

Sind die Parameterwerte korrekt, dann liefert affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal

Nachfolger

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren