Name
hom_mat3d_composeT_hom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose — Multipliziert zwei homogene 3D-Transformationsmatrizen.
hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose generiert eine neue 3D-Transformationsmatrix durch
Multiplikation der zwei Eingabe-Transformationsmatrizen:
HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DCompose = HomMat3DLeftHomMat3DLeftHomMat3DLeftHomMat3DLeftHomMat3DLefthomMat3DLeft * HomMat3DRightHomMat3DRightHomMat3DRightHomMat3DRightHomMat3DRighthomMat3DRight
Falls zum Beispiel die Eingabematrizen starre Transformationen darstellen,
also Transformationen bestehend aus Rotation und Translation, wird die
Ergebnismatrix wie folgt bestimmt:
HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DCompose = | R(l) t(l) | * | R(r) t(r) |
| 0 0 0 1 | | 0 0 0 1 |
= | R(l)*R(r) R(l)*t(r)+t(l) |
| 0 0 0 1 |
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
/ ra rb rc td \
| re rf rg th |
| ri rj rk tl |
\ 0 0 0 1 /
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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Linke Eingabe-Transformationsmatrix.
Rechte Eingabe-Transformationsmatrix.
Ausgabe-Transformationsmatrix.
Sind die Parameterwerte korrekt, dann liefert
hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose,
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,
pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d
hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose,
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
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d,
hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity,
hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate,
hom_mat3d_translatehom_mat3d_translateHomMat3dTranslatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate,
pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPosehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPose
Foundation