a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統(tǒng) > Android > 正文

深入理解Android Matrix理論與使用的詳解

2020-04-11 12:23:59
字體:
來源:轉載
供稿:網(wǎng)友

以前在線性代數(shù)中學習了矩陣,對矩陣的基本運算有一些了解,前段時間在使用GDI+的時候再次學習如何使用矩陣來變化圖像,看了之后在這里總結說明。
首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什么分割成4部分,在后面詳細說明。

首先給大家舉個簡單的例子:現(xiàn)設點P0(x0, y0)進行平移后,移到P(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那么,點P(x,y)的坐標為:
x = x0  + △x 
y = y0  + △y
采用矩陣表達上述如下: 
clip_image002

上述也類似與圖像的平移,通過上述矩陣我們發(fā)現(xiàn),只需要修改矩陣右上角的2個元素就可以了。
我們回頭看上述矩陣的劃分: 
clip_image003

為了驗證上面的功能劃分,我們舉個具體的例子:現(xiàn)設點P0(x0 ,y0)進行平移后,移到P(x,y),其中x放大a倍,y放大b倍,

矩陣就是:clip_image004,按照類似前面“平移”的方法就驗證。

圖像的旋轉稍微復雜:現(xiàn)設點P0(x0, y0)旋轉θ角后的對應點為P(x, y)。通過使用向量,我們得到如下:
x0 = r cosα 
y0 = r sinα
x = r cos(α+θ) = x0 cosθ - y0 sinθ 
y = r sin(α+θ) = x0 sinθ + y0 cosθ

于是我們得到矩陣:clip_image005

如果圖像圍繞著某個點(a ,b)旋轉呢?則先要將坐標平移到該點,再進行旋轉,然后將旋轉后的圖像平移回到原來的坐標原點,在后面的篇幅中我們將詳細介紹。

Matrix學習――如何使用Matrix

本篇幅我們就結合Android 中的android.graphics.Matrix來具體說明,還記得我們前面說的圖像旋轉的矩陣:

clip_image005[1]

從最簡單的旋轉90度的是:

clip_image006

在android.graphics.Matrix中有對應旋轉的函數(shù): 
Matrix matrix = new Matrix(); 
matrix.setRotate(90); 
Test.Log(MAXTRIX_TAG,”setRotate(90):%s” , matrix.toString());

clip_image007

查看運行后的矩陣的值(通過Log輸出):

clip_image008

與上面的公式基本完全一樣(android.graphics.Matrix采用的是浮點數(shù),而我們采用的整數(shù))。
有了上面的例子,相信大家就可以親自嘗試了。通過上面的例子我們也發(fā)現(xiàn),我們也可以直接來初始化矩陣,比如說要旋轉30度:

clip_image010

前面給大家介紹了這么多,下面我們開始介紹圖像的鏡像,分為2種:水平鏡像、垂直鏡像。先介紹如何實現(xiàn)垂直鏡像,什么是垂直鏡像就不詳細說明。圖像的垂直鏡像變化也可以用矩陣變化的表示,設點P0(x0 ,y0 )進行鏡像后的對應點為P(x ,y ),圖像的高度為fHeight,寬度為fWidth,原圖像中的P0(x0 ,y0 )經(jīng)過垂直鏡像后的坐標變?yōu)椋▁0 ,fHeight- y0); 
x = x0 
y = fHeight

主站蜘蛛池模板: 91精品国产综合久久婷婷香蕉 | 午夜小视频在线观看 | 99久久综合国产精品二区 | 久草视频首页 | 99国产精品久久 | 黄色片毛片 | 91精品国产高清一区二区性色 | 久久久久亚洲精品 | 一级女性全黄久久生活片免费 | 最新国产精品 | 国产高清精品在线 | 国产精品国产 | 久久精品一区二区国产 | 日韩精品 | 黄色大片视频网站 | 亚洲视频中文字幕 | 91在线视频福利 | 欧美日韩精品一区二区在线观看 | 伊人激情综合 | 亚洲性爰 | 欧美成人免费在线视频 | www.污污视频 | 一级毛片视频播放 | 欧美日韩在线精品 | 日本久久精品电影 | 久久久tv | 91电影院| 精品国产成人 | 色av综合 | 一级欧美片 | 午夜网址| 日韩快播电影 | 高清精品一区二区 | 欧美午夜视频在线观看 | 午夜探花 | 国产精品色一区二区三区 | 欧美精品一区二区三区在线播放 | 欧美精品99 | 国产精品99久久久久久宅男 | 亚洲视频一区 | 国产精品久久久久久久久久久久久久 |