乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      矩陣運算

       imelee 2017-06-22

       平時開發(fā)程序,免不了要對圖像做各種變換處理。有的時候變換可能比較復(fù)雜,比如平移之后又旋轉(zhuǎn),旋轉(zhuǎn)之后又平移,又縮放。

      直接用公式計算,不但復(fù)雜,而且效率低下。這時可以借助變換矩陣和矩陣乘法,將多個變換合成一個。 最后只要用一個矩陣對每個點做一次處理就可以得到想要的結(jié)果。

       另外,矩陣乘法一般有硬件支持,比如3D 圖形加速卡,處理3D變換中的大量矩陣運算,比普通CPU 要快上1000倍。

      下面是3類基本的2D圖形變換。 

      平移:

      設(shè)某點向x方向移動 dx, y方向移動 dy ,[x,y]為變換前坐標(biāo), [X,Y]為變換后坐標(biāo)。

      則 X = x+dx;  Y = y+dy;

      以矩陣表示:

                                      1    0    0

      [X, Y, 1] = [x, y, 1][ 0    1    0  ] ; 

                                     dx  dy   1

        1    0    0

        0    1    0   即平移變換矩陣。 

        dx  dy   1 

       

       旋轉(zhuǎn)

       旋轉(zhuǎn)相比平移稍稍復(fù)雜:

       設(shè)某點與原點連線和X軸夾角為b度,以原點為圓心,逆時針轉(zhuǎn)過a度  , 原點與該點連線長度為R, [x,y]為變換前坐標(biāo), [X,Y]為變換后坐標(biāo)。

        x = Rcos(b) ; y = Rsin(b);

        X = Rcos(a+b) = Rcosacosb - Rsinasinb = xcosa - ysina; (合角公式)

        Y = Rsin(a+b) = Rsinacosb + Rcosasinb = xsina + ycosa ;


        用矩陣表示:

                                      cosa   sina  0

       [X, Y, 1] = [x, y, 1][-sina  cosa  0  ] 

                                       0        0     1

        cosa   sina  0

       -sina  cosa  0  為旋轉(zhuǎn)變換矩陣。

         0       0     1 

       

       縮放

       設(shè)某點坐標(biāo),在x軸方向擴大 sx倍,y軸方向擴大 sy倍,[x,y]為變換前坐標(biāo), [X,Y]為變換后坐標(biāo)。

       X = sx*x; Y = sy*y;

      則用矩陣表示:

                                      sx    0    0

      [X, Y, 1] = [x, y, 1][ 0    sy    0  ] ; 

                                      0     0     1

       sx    0    0

       0    sy    0  即為縮放矩陣。 

       0     0     1

       

       2D基本的模型視圖變換,就只有上面這3種,所有的復(fù)雜2D模型視圖變換,都可以分解成上述3個。

      比如某個變換,先經(jīng)過平移,對應(yīng)平移矩陣A, 再旋轉(zhuǎn), 對應(yīng)旋轉(zhuǎn)矩陣B,再經(jīng)過縮放,對應(yīng)縮放矩陣C.

      則最終變換矩陣 T = ABC. 即3個矩陣按變換先后順序依次相乘(矩陣乘法不滿足交換律,因此先后順序一定要講究)。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多