91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-06-23 18:13:34 來源:網絡 閱讀:1228 作者:yt19850701 欄目:移動開發

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

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

    其次,變換的概念。變換,是指對坐標系中的圖形進行變換,通過將圖形的每個點坐標乘以變換矩陣來實現。

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

    變換坐標系,就是在當前坐標系中,進行縮放、旋轉、平移或直接乘變換矩陣等操作,得到新坐標系,之后,在新的坐標系中又可以進行變換,如此循環往復。最后用戶調用api進行繪圖時傳入的坐標是最新的坐標系中的坐標,這樣,就可以保持坐標不變,僅通過變換坐標系實現繪制。

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

    GDI+對變換坐標系和變換物體的支持:

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

           |m11, m12, 0|

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

           |m31, m32, 1|

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

P M1 M2 ... Mn = P',

其表示變換物體,即在世界坐標系中,對物體進行若干次變換,得到新的物體坐標。

當變換坐標系時,

用Q表示坐標,N表示變換矩陣擇優

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐庐县| 泸定县| 旅游| 福建省| 沅陵县| 建水县| 洛川县| 庆阳市| 正安县| 高州市| 海阳市| 北川| 四川省| 高淳县| 博客| 崇义县| 大化| 瑞昌市| 云南省| 临清市| 临潭县| 义马市| 靖远县| 纳雍县| 嘉峪关市| 嘉善县| 孝感市| 从江县| 镇雄县| 昌都县| 淳化县| 堆龙德庆县| 手游| 聂拉木县| 大荔县| 咸丰县| 南平市| 西乌珠穆沁旗| 广东省| 崇礼县| 马龙县|