hom_mat2d_to_affine_parT_hom_mat2d_to_affine_parHomMat2dToAffineParHomMat2dToAffinePar — Compute the affine transformation parameters from a homogeneous 2D
transformation matrix.
double HHomMat2D.HomMat2dToAffinePar(out double sy, out double phi, out double theta, out double tx, out double ty)
Description
hom_mat2d_to_affine_parhom_mat2d_to_affine_parHomMat2dToAffineParHomMat2dToAffineParHomMat2dToAffinePar computes the affine transformation parameters
corresponding to the homogeneous 2D transformation matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D.
The parameters SxSxSxSxsx and SySySySysy determine how the transformation
scales the original x- and y-axes, respectively. The two scaling factors are
always positive. The angle ThetaThetaThetaThetatheta describes whether the transformed
coordinate axes are orthogonal (ThetaThetaThetaThetatheta = 0) or slanted. If
, the transformation
contains a reflection. The angle PhiPhiPhiPhiphi determines the rotation of the
transformed x-axis with respect to the original x-axis. The parameters
TxTxTxTxtx and TyTyTyTyty determine the translation of the two coordinate
systems. The matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D can be constructed from the six
transformation parameters by the following operator sequence:
If the matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D is non-degenerate and represents an
affine transformation (i.e., not a projective transformation),
hom_mat2d_to_affine_parhom_mat2d_to_affine_parHomMat2dToAffineParHomMat2dToAffineParHomMat2dToAffinePar returns 2 (H_MSG_TRUE). Otherwise, an
exception is raised.