杜麗美,李艷玲,侯慧玲(長治學院計算機系,山西長治,046011)
?
矩陣理論在圖形變換中的應用
杜麗美,李艷玲,侯慧玲
(長治學院計算機系,山西長治,046011)
摘要:基于給定的各種三維物體模型,研究這些模型進行平移、旋轉、縮放等變換的理論依據是什么,其中要借助線性代數中的矩陣理論來進行分析,為此矩陣理論是研究此問題的數學基礎。
關鍵詞:平移;旋轉;縮放;矩陣
線性代數是計算機專業的一門重要基礎課,它在計算機各學科中有著廣泛的應用,比如在數據結構、信息編碼、圖形變換、圖像讀取中。這里主要研究線性代數在圖形變換中的應用。
在進行三維重建后,會在計算機屏幕上展示出重建后的三維圖形,在此過程中要想將重建后的圖形放到屏幕的指定位置上并且將圖形有效的一面展現出來,就需要對此圖形進行各種變換,包括位置的變換和自身的旋轉變換,因此對圖形進行變換是三維重建中非常重要的一個過程,主要包括圖形的平移、旋轉、縮放等變換。
在各種編程語言中會有直接的函數對圖形進行各種變換,比如在Matlab、VC++、OpenGL等中都有相應的變換函數,本文主要研究這些變換函數是如何實現圖形的各種變換的,其中主要的理論依據就是線性代數中的矩陣理論,只要找到各種變換對應的變換矩陣,然后將圖形的每個點坐標都乘以相應的變換矩陣,最終便得到了變換后的圖形。因此,圖形變換可以通過對表示圖形坐標的矩陣進行運算來實現,稱為矩陣變換法,式(1.1)為矩陣變換法的一般形式。

為了研究圖形的各種變換,必須掌握矩陣的基本運算規則,下面將本文中主要用到的矩陣運算介紹如下:
1.1 矩陣的定義
矩陣是由m×n個數按一定位置排列的一個整體,簡稱m×n矩陣。如圖2-1所示,其中aij稱為矩陣A的第i行第j列元素。

圖2-1 矩陣的表示
1.2 矩陣的加法
設A=(aij)m×n,B=(bij)m×n為兩個具有相同行和列元素的矩陣,則A+B的結果如下:

1.3 矩陣的數乘
數λ與矩陣A的乘積,記為λA或Aλ,運算結果如下:

1.4 矩陣的乘法
設A=(aij)是一個m×s矩陣,B=(bij)是一個s×n矩陣,要保證A矩陣的列數要等于B矩陣的行數,則A與B的乘積是一個m×n矩陣C=(cij),其中矩陣C中的每一個元素cij的表達式為:
這里主要研究圖形的平移變換、旋轉變換和縮放變換,這些變換在各種編程軟件中都對應著一條函數,這里重點研究的是為什么調用相應的函數就能夠實現圖形的各種變換呢?(注:這里主要研究三維變換)
2.1 三維平移變換
三維平移變換:將空間點P(x,y,z)平移到新空間點P′(x',y',z'),如圖3-1所示,根據向量理論可以求出平移后點P′的坐標計算公式為式(3.1),其中向量T()為點P在X、 Y和Z方向上平移的具體數值。公式(3.1)寫成分量的形式為式(3.2),式(3.2)采用矩陣相乘的方式可以表達成式(3.3)的形式。

根據上述變換過程,由公式(3.3)可以得到一個4×4階的平移變換矩陣,此過程實現了一個三維點的平移過程,對于一個圖形的平移問題和點的平移是一樣的,因為圖形是由點組成的,將一個圖形在X、Y和Z軸上平移個分量,其實就是將這個圖形上的每一個點在X、Y和Z軸上平移個分量,因此對于給定圖形,只要將圖形上的每一個點都使用公式(3.3)變換后得到的點組成的圖形就是原圖形平移后的圖形。

圖3-1 平移變換

圖3-2 旋轉變換

圖3-3 縮放變換
2.2 三維旋轉變換
假如有點P(x,y,z)繞X軸逆時針旋轉θ角度后到達P’(x’,y’,z’),設點P與XOY平面的夾角為φ,P到原點的距離為r,則可得方程組(3.4),寫成矩陣的形式為(3.5),(3.5)中的4×4階矩陣即為繞X軸的旋轉矩陣,其中θ為逆時針旋轉角度。

2.3 三維縮放變換

以上就是三種變換函數的本質,對于物體的復雜變換有時還需要將以上三種變換結合起來使用以達到最終目的。
本文主要介紹了在三維物體重建過程中常見到的圖形的平移、旋轉和縮放變換對應函數的本質意義是什么,這些變換在物體重建中的作用非常大,而且利用這些變換可以表現出真實的三維效果來,比如說可以使用鍵盤的上下左右箭頭或者是鼠標來對屏幕上的物體進行各種各樣的變換,這樣就可以看到物體背面、側面或者是頂部、底部等位置,真實的再現了物體的全貌,實現了3D效果。
可見數學理論在計算機領域中的作用是非常強大,在絕大多數的編程語言中都要借助數學的知識來解決問題,為此數學是計算機學科的基礎學科,學會數學課程中的思想和方法可以提高學生的邏輯思維能力,也可為今后進行計算機各專業課程的學習做鋪墊。
參考文獻
[1]李秀蘭,張紅玉.線性代數在數學建模中的應用[J].大同大學學報,2010,26(02)︰3-4.
[2]黃玉梅,彭濤.線性代數中矩陣的應用典型案例[J].蘭州大學學報,2009,45(F06)︰123-125
[3]李勝彪,黃世華.數學建模中矩陣的應用[J].甘肅聯合大學學報,2012,26(01)︰22-26
[4]李明.線性代數中矩陣的應用研究[J].常州工學院學報,2011,24(03)︰59-62
[5]周國清.矩陣運算及應用[J].重慶職業技術學院學報.重慶職業技術學院學報,2005, 14(02)︰158-160.
[6]廖朵朵.OpenGL變換、光照、紋理、動畫及特殊效果[J].微電腦世界,1996(11)︰151-153.
[7]高美真,黃嬌青.OpenGL中的圖形變換[J].焦作師范高等??茖W校學報,2006,22(02)︰51-53
The application of matrix theory in graph transformation
Du Limei,Li Yanling,Hou Huiling
(Department of Computer Science Changzhi University,Changzhi Shanxi,046011)
Abstract:Based on a given 3D object model,to study the theoretical basis of translation,rotation, scaling and other transformations of the model,the matrix theory is used to analyze this problem,so in order to study this problem the matrix theory is the foundation.
Keywords:Translation;Rotation,Scale;Matrix
中圖分類號:TP391.41
文獻標志碼:A
基金項目:長治學院校級科研課題(201419)
作者簡介
杜麗美(1983-),女,山西大同人,碩士,講師,主要研究計算機圖形學、圖像處理等。