免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
矩陣運算

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

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

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

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

平移:

設某點向x方向移動 dx, y方向移動 dy ,[x,y]為變換前坐標, [X,Y]為變換后坐標。

則 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 

 

 旋轉

 旋轉相比平移稍稍復雜:

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

  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  為旋轉變換矩陣。

   0       0     1 

 

 縮放

 設某點坐標,在x軸方向擴大 sx倍,y軸方向擴大 sy倍,[x,y]為變換前坐標, [X,Y]為變換后坐標。

 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種,所有的復雜2D模型視圖變換,都可以分解成上述3個。

比如某個變換,先經過平移,對應平移矩陣A, 再旋轉, 對應旋轉矩陣B,再經過縮放,對應縮放矩陣C.

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

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
測量計算公式:第一篇
高考數(shù)學沖刺復習精品資料(5大專題)
3D數(shù)學知識簡介
5-專題研究
三維坐標變換原理-平移, 旋轉, 縮放
小談矩陣和坐標變換
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服