hom_mat3d_composeT_hom_mat3d_composeHomMat3dComposeHomMat3dComposehom_mat3d_compose (Operator)

Name

hom_mat3d_composeT_hom_mat3d_composeHomMat3dComposeHomMat3dComposehom_mat3d_compose — Multipliziert zwei homogene 3D-Transformationsmatrizen.

Signatur

hom_mat3d_compose( : : HomMat3DLeft, HomMat3DRight : HomMat3DCompose)

Herror T_hom_mat3d_compose(const Htuple HomMat3DLeft, const Htuple HomMat3DRight, Htuple* HomMat3DCompose)

void HomMat3dCompose(const HTuple& HomMat3DLeft, const HTuple& HomMat3DRight, HTuple* HomMat3DCompose)

HHomMat3D HHomMat3D::HomMat3dCompose(const HHomMat3D& HomMat3DRight) const

static void HOperatorSet.HomMat3dCompose(HTuple homMat3DLeft, HTuple homMat3DRight, out HTuple homMat3DCompose)

HHomMat3D HHomMat3D.HomMat3dCompose(HHomMat3D homMat3DRight)

def hom_mat3d_compose(hom_mat_3dleft: Sequence[float], hom_mat_3dright: Sequence[float]) -> Sequence[float]

Beschreibung

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose generiert eine neue 3D-Transformationsmatrix durch Multiplikation der zwei Eingabe-Transformationsmatrizen:

Falls zum Beispiel die Eingabematrizen starre Transformationen darstellen, also Transformationen bestehend aus Rotation und Translation, wird die Ergebnismatrix wie folgt bestimmt:

Achtung

Homogene Transformationsmatrizen werden zeilenweise in Form eines Tupels abgespeichert; die letzte Zeile wird im Normalfall nicht gespeichert, da sie für alle affinen Transformationsmatrizen identisch ist. Zum Beispiel wird die Matrix als das Tupel [ra, rb, rc, td, re, rf, rg, th, ri, rj, rk, tl] gespeichert. Es ist aber auch möglich, volle 4×4 Matrizen, die eine projektive 3D-Transformation darstellen können, zu verarbeiten.

Ausführungsinformationen

Parameter

HomMat3DLeftHomMat3DLeftHomMat3DLeftHomMat3DLefthomMat3DLefthom_mat_3dleft (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Linke Eingabe-Transformationsmatrix.

HomMat3DRightHomMat3DRightHomMat3DRightHomMat3DRighthomMat3DRighthom_mat_3dright (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Rechte Eingabe-Transformationsmatrix.

HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DComposehom_mat_3dcompose (output_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Ausgabe-Transformationsmatrix.

Ergebnis

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

Vorgänger

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d

Nachfolger

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local

Alternativen

pose_composepose_composePoseComposePoseComposePoseComposepose_compose, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose

Siehe auch

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d, hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose

Modul

Foundation