中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

GDI+、HTML5、cairo等繪圖庫中matrix理解的

    GDI+、HTML5、cairo都是二維繪圖庫,他們的api都提供縮放、旋轉(zhuǎn)、平移等矩陣變換操作,還可以修改matrix,指定變換矩陣。但是,當(dāng)做一個繪圖引擎底層使用這些繪圖庫時,就發(fā)現(xiàn)他們的概念不明確,網(wǎng)上資料、包括很多書,都講得是一些似是而非的概念,經(jīng)過總結(jié),得出我自己的正確版本,如下所述:

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了木壘哈薩克免費建站歡迎大家使用!

    首先,坐標(biāo)系的概念。GDI+中以winform程序為準(zhǔn)描述如下,有3個坐標(biāo)系:世界坐標(biāo)系、頁面坐標(biāo)系、設(shè)備坐標(biāo)系(參見GDI+ SDK官方手冊)。HTML5和cairo中,分為世界坐標(biāo)系和用戶坐標(biāo)系。

    其次,變換的概念。變換,是指對坐標(biāo)系中的圖形進(jìn)行變換,通過將圖形的每個點坐標(biāo)乘以變換矩陣來實現(xiàn)。

    第三,變換的過程。這塊是重點,GDI+與HTML5和cairo不同。GDI+同時支持變換坐標(biāo)系和變換物體。HTML5和cairo僅支持變換坐標(biāo)系。

    變換坐標(biāo)系,就是在當(dāng)前坐標(biāo)系中,進(jìn)行縮放、旋轉(zhuǎn)、平移或直接乘變換矩陣等操作,得到新坐標(biāo)系,之后,在新的坐標(biāo)系中又可以進(jìn)行變換,如此循環(huán)往復(fù)。最后用戶調(diào)用api進(jìn)行繪圖時傳入的坐標(biāo)是最新的坐標(biāo)系中的坐標(biāo),這樣,就可以保持坐標(biāo)不變,僅通過變換坐標(biāo)系實現(xiàn)繪制。

    變換物體,就是僅存在一個坐標(biāo)系,即世界坐標(biāo)系,物體的坐標(biāo)就是在世界坐標(biāo)系中的坐標(biāo),變換物體即物體的坐標(biāo)乘變換矩陣,得到世界坐標(biāo)系中的新坐標(biāo)。

    GDI+對變換坐標(biāo)系和變換物體的支持:

    各API中加參數(shù)MatrixOrder.Prepend即表示在當(dāng)前變換矩陣前插入矩陣(左乘),對應(yīng)變換坐標(biāo)系,加參數(shù)MatrixOrder.Append即表示在當(dāng)前變換矩陣后插入矩陣(右乘),對應(yīng)變換物體。GDI+中坐標(biāo)以行向量表示,坐標(biāo)變換形如:

           |m11, m12, 0|

|x,y,1|  |m21, m22, 0| = |x', y', 1|,

           |m31, m32, 1|

用P表示點,M表示變換矩陣則有

P M1 M2 ... Mn = P',

其表示變換物體,即在世界坐標(biāo)系中,對物體進(jìn)行若干次變換,得到新的物體坐標(biāo)。

當(dāng)變換坐標(biāo)系時,

用Q表示坐標(biāo),N表示變換矩陣擇優(yōu)

Q Nn Nn-1 ... N1 = Q',

其表示從最新的坐標(biāo)系中坐標(biāo)Q倒推出世界坐標(biāo)系中的坐標(biāo)Q'的過程。

當(dāng)前題目:GDI+、HTML5、cairo等繪圖庫中matrix理解的
分享URL:http://www.rwnh.cn/article12/jeesgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作Google、App開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站改版、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
钦州市| 察雅县| 彩票| 密云县| 泰安市| 葵青区| 织金县| 唐海县| 花垣县| 东阳市| 庆阳市| 施甸县| 沅陵县| 修武县| 响水县| 亳州市| 松江区| 文昌市| 弥渡县| 新乡县| 田阳县| 淳安县| 巴林左旗| 石狮市| 丹棱县| 衡山县| 德格县| 开化县| 获嘉县| 沈丘县| 房山区| 西安市| 车致| 余江县| 花莲市| 调兵山市| 资阳市| 南昌县| 讷河市| 友谊县| 徐汇区|