仿射矩阵的解析_0o俊逸o0的空间_百度空间
将一个仿射变换矩阵Ma解析为Ms×Mr×Mt,式中Ms为缩放矩阵,Mr为旋转矩阵,Mt为平移矩阵。仿射矩阵不应包含错切成分。具体操作可分为一下几步。

1.平移矩阵的获取
        Ms×Mr×Mt的过程中,位于Ma41,Ma42,Ma43的平移因子不会改变,故:
                                1        0        0        0
                      Mt =   0        1        0        0
                                0        0        1        0
                               Ma41 Ma42 Ma43 1   

2.放缩矩阵的提取
    令Ma = Ma×Mt^-1,则Ma = Ms×Mr
    Mrx×Mry,相当于对Mrx的每个行向量绕x轴旋转Mry所代表的角度,并由得到的三个新行向量组成新的结果矩阵,Mrx为向量绕x轴旋转的变换矩阵,其每行向量的分量的平方和为1,故行向量模为1,该行向量乘以旋转矩阵Mry后长度不变,即模为1,故Mrx×Mry的结果矩阵的每一行(行向量)分量的平方和为1.
    将上述情况扩展,一个Mr可表示为Mry×Mrx×Mrz×Mrx^-1×Mry^-1,或其它表示形式,但各种表示形式都最终可表示为Mrx,Mry,Mrz及其逆矩阵的乘积。根据上面的分析,Mr各行向量分量的平方和必为1。
    又因为Ms为对角矩阵,Ms×Mr的形式如下
                                b11    0        0        0              a11       a12        a13      0
                                0        b22    0        0    ×        a21       a22        a23      0
                                0        0        b33    0              a31       a32        a33    0
                                0        0        0        1              0           0            0          1
                                               Ms                                                Mr
    计算上式,并根据Mr行向量分量的平方和为1,可得:
    b11 = Ma11^2 + Ma12^2 + Ma13^2 + Ma14^2;
    b22 = Ma21^2 + Ma22^2 + Ma23^2 + Ma24^2;
    b33 = Ma21^2 + Ma22^2 + Ma23^2 + Ma24^2;
    至此,Ms求得。

3.旋转矩阵的获取
    在上述计算中Ma的值变为Ms × Mr。
    先求Ms^-1,则Mr = Ms^-1 × Ma = Ms^-1 × Ms × Mr;


郑重声明:资讯 【仿射矩阵的解析_0o俊逸o0的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——