| Operatoren |
hom_mat2d_to_affine_par — Berechnet die affinen Transformationsparameter aus einer homogenen 2D-Transformationsmatrix.
hom_mat2d_to_affine_par berechnet aus einer homogenen 2D-Transformationsmatrix HomMat2D die zugehörigen affinen Transformationsparameter. Die Parameter Sx und Sy geben an, wie stark die ursprünglichen x- und y-Achsen von der Transformation skaliert werden. Die beiden Skalierungsfaktoren sind immer positiv. Der Winkel Theta beschreibt, ob die transformierten Koordinatenachsen orthogonal sind (Theta = 0) oder ob die y-Achse geschert ist. Falls , enthält die Transformation eine Spiegelung. Der Winkel Phi beschreibt die Rotation der x-Achse des transformierten Koordinatensystems gegenüber der x-Achse des ursprünglichen Koordinatensystems. Die Parameter Tx und Ty beschreiben die Verschiebung der beiden Koordinatensysteme. Die Matrix HomMat2D lässt sich mit folgender Operatorsequenz aus den sechs Transformationsparametern erzeugen:
hom_mat2d_identity (HomMat2DIdentity) hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, 0, 0, HomMat2DScale) hom_mat2d_slant (HomMat2DScale, Theta, 'y', 0, 0, HomMat2DSlant) hom_mat2d_rotate (HomMat2DSlant, Phi, 0, 0, HomMat2DRotate) hom_mat2d_translate (HomMat2DRotate, Tx, Ty, HomMat2D)
Dies entspricht der folgenden Kette von Transformationsmatrizen:
Eingabe-Transformationsmatrix.
Skalierung in x-Richtung.
Skalierung in y-Richtung.
Rotationswinkel.
Scherungswinkel.
Translation in x-Richtung.
Translation in y-Richtung.
Falls die Matrix HomMat2D nicht degeneriert ist und eine affine Abbildung darstellt (d.h. keine projektive Abbildung), liefert hom_mat2d_to_affine_par den Wert 2 (H_MSG_TRUE) zurück. Ansonsten wird eine Ausnahmebehandlung durchgeführt.
vector_to_hom_mat2d, vector_to_rigid, vector_to_similarity, vector_to_aniso, point_line_to_hom_mat2d
hom_mat2d_translate, hom_mat2d_scale, hom_mat2d_rotate, hom_mat2d_slant
Foundation
| Operatoren |