計(jì)算機(jī)圖形學(xué)_5_第1頁
計(jì)算機(jī)圖形學(xué)_5_第2頁
計(jì)算機(jī)圖形學(xué)_5_第3頁
計(jì)算機(jī)圖形學(xué)_5_第4頁
計(jì)算機(jī)圖形學(xué)_5_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、幾何對象與變換幾何對象與變換n幾何n幾何表示n變換nOpenGL中的變換基本內(nèi)容n介紹幾何要素n標(biāo)量n向量n點(diǎn)n給出這些要素間的與坐標(biāo)無關(guān)的數(shù)學(xué)運(yùn)算n定義基本的幾何體n線段n多邊形圖形學(xué)中的數(shù)學(xué)n向量空間與仿射空間n點(diǎn)向量齊次坐標(biāo)n仿射運(yùn)算n變換n矩陣表示n變換矩陣的確定幾何要素n幾何研究n維空間中對象之間的關(guān)系n在計(jì)算機(jī)圖形學(xué)中,我們對三維空間中的對象感興趣n希望得到一個(gè)幾何形狀的最小集合,根據(jù)這個(gè)集合可以建立起非常復(fù)雜的對象n需要三個(gè)幾何要素n標(biāo)量n向量n點(diǎn)坐標(biāo)系與坐標(biāo)無關(guān)的幾何n在初等幾何的學(xué)習(xí)中,主要應(yīng)用的是直角坐標(biāo)系n點(diǎn)在空間中的位置是p = (x,y,z)n通過對這些坐標(biāo)進(jìn)行代數(shù)操

2、作導(dǎo)出結(jié)果n這種方法不是基于物理的n從物理的角度來講,點(diǎn)的存在性是與坐標(biāo)系的具體位置無關(guān)的n絕大多數(shù)幾何結(jié)果是不依賴于坐標(biāo)系的n歐氏幾何:兩個(gè)三角形全等是指它們有兩個(gè)對應(yīng)邊和夾角相等為什么需要向量?n場景:樹與照相機(jī)n照相機(jī)需要在視平面上形成一幅圖像表示這棵樹。視平面上哪些點(diǎn)需要被激活?n透視投影需要利用向量來構(gòu)造向量分析n三種幾何要素:標(biāo)量、向量、點(diǎn)n所基于空間:n 向量空間(即線性空間)n 仿射空間:齊次坐標(biāo)空間標(biāo)量n標(biāo)量可以定義為集合中的成員,集合中具n有兩種運(yùn)算(加法和乘法),運(yùn)算遵從一些n基本的公理(結(jié)合律、交換律、逆)n例:實(shí)數(shù)或復(fù)數(shù)全體,通常的加法與乘法n標(biāo)量自身沒有幾何性質(zhì)n用

3、小寫希臘字母表示向量n物理定義:向量是具有如下兩條性質(zhì)的量n方向n長度: |v|n 例:n力n速度n有向線段n這也是圖形學(xué)中最重要的例子n可以對應(yīng)到其它類型上n用小寫字母表示向量運(yùn)算n每個(gè)向量都有逆n同樣長度但是指向相反的方向n每個(gè)向量都可以與標(biāo)量相乘n有一個(gè)零向量n零長度,方向不定n兩個(gè)向量的和為向量n三角形法則線性空間n處理向量的數(shù)學(xué)系統(tǒng)n運(yùn)算n標(biāo)量乘法:u = vn向量加法:w = u + vn在向量空間中,表達(dá)式v = u + 2w 3r有意義向量沒有位置n下述向量是相等的n因?yàn)樗鼈兙哂邢嗤姆较蚺c長度n對幾何而言只有向量空間是不夠的n還需要點(diǎn)點(diǎn)n空間中的位置n用大寫字母表示n點(diǎn)與向量

4、之間可進(jìn)行的運(yùn)算n點(diǎn)與點(diǎn)相減得到一個(gè)向量n等價(jià)地,點(diǎn)與向量相加得到新點(diǎn)仿射空間n點(diǎn)加上向量構(gòu)造的空間n運(yùn)算:n向量與向量的加法- 向量n標(biāo)量與向量的乘法-向量n點(diǎn)與向量的加法-點(diǎn)n標(biāo)量與標(biāo)量的運(yùn)算-標(biāo)量n上述運(yùn)算均是與坐標(biāo)無關(guān)的n對于任意點(diǎn),定義n1 P = Pn0 P = 0 (零向量)向量與點(diǎn)的線性組合n給定n個(gè)向量v1, v2 , vn, 以及n個(gè)標(biāo)量1,2,n, 則由歸納法可以證明 v = 1v1+ 2v2 + nvn 也是向量,稱為這組向量的線性組合n給定n個(gè)點(diǎn)P1, P2 , Pn, 以及n個(gè)標(biāo)量1, 2,n, 則 P = 1P1+ 2P2 + nPn 是什么?n所給的定義需要與坐

5、標(biāo)無關(guān)點(diǎn)的線性組合n固定坐標(biāo)系,取定其中的兩點(diǎn),那么P1 +P2是什么?n當(dāng)P1為原點(diǎn)時(shí), P1 + P2等于P2 n當(dāng)P1 與P2關(guān)于原點(diǎn)對稱時(shí), P1 + P2為原點(diǎn)n所以P1 + P2的位置與坐標(biāo)系有關(guān)n組合系數(shù)不能是任意數(shù)點(diǎn)的特殊線性組合n由歸納法,從“點(diǎn)點(diǎn)向量” 和“標(biāo)量向量向量”可知當(dāng)組合系數(shù)和1+ 2+ n = 0時(shí),點(diǎn)的線性組合為向量n P1 + P2 = P1 + (P2 P1) = 點(diǎn)向量點(diǎn)n實(shí)際上, P1 + P2表示兩點(diǎn)的中點(diǎn),這是與坐標(biāo)無關(guān)的定義n當(dāng)1+ 2+ n =1 時(shí),點(diǎn)的線性組合為點(diǎn),稱為給定點(diǎn)的仿射組合n除此之外,其它形式的線性組合沒有與坐標(biāo)無關(guān)的意義直線n

6、考慮具有下述形式的所有點(diǎn)nP() = P0 + dn即所有過P0點(diǎn),與P0連線平行于向量d的點(diǎn)射線與線段n如果限定 0, 那么P()就是從P0出發(fā),方向?yàn)閐 的射線n如果采用兩點(diǎn)定義向量d, 那么 P() = P0 + (P1 P0) = (1 ) P0 +P1n當(dāng)0 1,那么就會得到連接P0與P1兩點(diǎn)的線段參數(shù)形式n上述定義直線的形式稱為參數(shù)形式n比其它形式更一般和穩(wěn)定n可以推廣到曲線和曲面n二維形式n顯式:y = mx + hn隱式:ax + by + c = 0n參數(shù)形式:nx() = x0 + (1 ) x1ny() = y0 + (1 ) y1兩點(diǎn)線性插值n給定兩點(diǎn)A, B,那么它們

7、的仿射組合 P(t) = (1 t) A + t B 就定義了過這兩點(diǎn)的一條直線n線性插值在藝術(shù)和計(jì)算機(jī)動畫有許多有趣的應(yīng)用n關(guān)鍵幀多邊形的變形n給定兩個(gè)有同樣數(shù)目頂點(diǎn)的折線,那么利用線性插值可以給出從第一個(gè)折線到第二個(gè)折線的光滑過渡男人-女人名人臉曲線與曲面n曲線是形式為P()的單參數(shù)定義的幾何體,其中的函數(shù)為非線性n曲面是由形式為P(, )的兩個(gè)參數(shù)定義的幾何體n線性函數(shù)對應(yīng)于平面和多邊形平面n平面是由一個(gè)點(diǎn)與兩個(gè)向量或者三個(gè)點(diǎn)確定的向量的內(nèi)外積法向量n每個(gè)平面都有一個(gè)垂直于自身的向量nn在平面的點(diǎn)與二向量形式nP(, ) = R + u + v中,可以應(yīng)用向量的外積得到 n = u v幾

8、何對象與變換n幾何n幾何表示n變換nOpenGL中的變換基本內(nèi)容n介紹諸如維數(shù)與基等概念n引入表示向量空間的坐標(biāo)系和表示仿射空間的標(biāo)架n討論基與標(biāo)架的變換n引進(jìn)齊次坐標(biāo)線性無關(guān)n一組向量v1, v2 , vn稱為線性無關(guān)的,是指1v1+ 2v2 + nvn = 0當(dāng)且僅當(dāng)1= 2= n = 0n如果一組向量是線性無關(guān)的,那么不能把其中一個(gè)向量表示成其它向量的線性組合n如果一組向量是線性相關(guān)的,那么其中至少有一個(gè)向量可以表示為其它向量的線性組合維數(shù)n在向量空間中,最大的線性無關(guān)向量組的元素個(gè)數(shù)是固定的,這個(gè)數(shù)就稱為空間的維數(shù)n在n維空間中,任意n個(gè)線性無關(guān)的向量構(gòu)成空間的基n給定空間的一組基v1

9、, v2 , vn,空間中任意向量v都可以表示為 v = 1v1+ 2v2 + nvn 其中i是唯一的表示n到現(xiàn)在為止我們只是討論幾何對象,而沒有使用任何參考標(biāo)架,例如坐標(biāo)系n需要一個(gè)參考標(biāo)架把點(diǎn)和對象與物理世界中的對象聯(lián)系在一起n例如,點(diǎn)在哪兒?如果沒有參考系的話,就無法回答這個(gè)問題n世界坐標(biāo)系n照相機(jī)坐標(biāo)系坐標(biāo)系n考慮n維向量空間的基v1, v2 , vnn一個(gè)向量v可以表示為v = 1v1+ 2v2 + nvnn標(biāo)量組1, 2 , ,n就稱為v相對于給定基的表示n可以把表示寫成行向量示例nv = 2v1+ 3v2 4v3na = 2, 3, 4n注意上述表示是相對一個(gè)特定的基而言的n例如

10、,在OpenGL中剛開始是相對于世界坐標(biāo)系表示向量的,稍后要把這個(gè)表示變換到照相機(jī)坐標(biāo)系(或者稱為觀察坐標(biāo)系)中坐標(biāo)系n哪個(gè)正確?n都正確,因?yàn)橄蛄繘]有固定位置標(biāo)架n坐標(biāo)系是不足于表示點(diǎn)的n如果要在仿射空間中考慮問題,那么可以在基向量組中增加一個(gè)點(diǎn)(稱為原點(diǎn)),從而構(gòu)成一個(gè)標(biāo)架(frame)在標(biāo)架中的表示n標(biāo)架是由(O, v1, v2 , vn)確定的n在這個(gè)標(biāo)架中,每個(gè)向量可以表示為 v = 1v1+ 2v2 + nvnn每個(gè)點(diǎn)可以表示為 P = O + 1v1+ 2v2 + nvn點(diǎn)與向量的混淆n考慮點(diǎn)與向量 v = 1v1+ 2v2 + nvn P = O + 1v1+ 2v2 + nv

11、nn它們看起來具有相似的表示: v = 1, 2 ,n, P = 1, 2 , n,這導(dǎo)致點(diǎn)與向量很容易混淆在一起統(tǒng)一的表示n如果定義0 P = 0(零向量), 1 P = P,那么 v = 1v1+ 2v2 + nvn = 1, 2 ,n, 0v1, v2 , vn, O T P = O + 1v1+ 2v2 + nvn = 1, 2 , n, 1 v1, v2 , vn, O T從而得到n+1維齊次坐標(biāo)表示v = 1, 2 ,n, 0P = 1, 2 , n, 1齊次坐標(biāo)四維齊次坐標(biāo)的一般形式為P = x, y, z, wT,可以通過下述方法給出三維點(diǎn)(當(dāng)w 0):x x/w, y y/w

12、, z z/w當(dāng)w = 0時(shí),表示對應(yīng)的是一個(gè)向量注意:齊次坐標(biāo)表示中把四維空間中過原的一條直線對應(yīng)于三維空間中的一個(gè)點(diǎn)齊次坐標(biāo)與計(jì)算機(jī)圖形學(xué)n齊次坐標(biāo)是所有計(jì)算機(jī)圖形系統(tǒng)的關(guān)鍵n所有標(biāo)準(zhǔn)變換(旋轉(zhuǎn)、平移、放縮)都可以應(yīng)用44階矩陣的乘法實(shí)現(xiàn)n硬件流水線體系可以應(yīng)用四維表示n對于正交投影,可以通過w = 0保證向量,w = 1保證點(diǎn)n對于透視投影,需要進(jìn)行特別的處理:透視除法仿射變換n每個(gè)線性變換等價(jià)于一次標(biāo)架改變n所有的仿射變換保持共線性n然而,一個(gè)仿射變換只具有12個(gè)自由度,因?yàn)樗蟹律渥儞Q只是由44階矩陣定義的線性變換的子集,矩陣的16個(gè)元素中有四個(gè)元素是固定的世界標(biāo)架與照相機(jī)標(biāo)架n當(dāng)提

13、及表示的時(shí)候,所指的是由n個(gè)標(biāo)量構(gòu)成的有序數(shù)組n這樣標(biāo)架的改變就是由一個(gè)44階矩陣定義n在OpenGL中開始的基本標(biāo)架是世界標(biāo)架n最終我們是在照相機(jī)標(biāo)架中表示幾何體,這是用模型-視圖矩陣進(jìn)行變換的n初始狀態(tài)時(shí)這兩個(gè)標(biāo)架是相同的(M = I)照相機(jī)的移動幾何對象與變換n幾何n幾何表示n變換nOpenGL中的變換基本內(nèi)容n介紹標(biāo)準(zhǔn)變換n旋轉(zhuǎn)n平移n放縮n剪切n給出齊次坐標(biāo)變換矩陣n學(xué)會從簡單變換創(chuàng)建任意變換矩陣一般變換n所謂變換就是把點(diǎn)映射到其它點(diǎn),把向量映射到其它向量仿射變換n保持共線性n許多物理上重要變換的特征n剛體變換:旋轉(zhuǎn)、平移n放縮、剪切n在圖形學(xué)中的重要性來自于,此時(shí)我們只需要變換線段

14、的兩個(gè)端點(diǎn),而由系統(tǒng)自動畫出變換后兩個(gè)端點(diǎn)間的線段為什么需要變換?變換的作用之一n組合場景構(gòu)造三維場景雪花的構(gòu)造變換的作用之二設(shè)計(jì)者可能需要從不同的角度查看同一個(gè)場景,此時(shí)自然的方法是對象不變,而變換照相機(jī)的位置變換的作用之三n在計(jì)算機(jī)動畫中,在相鄰幀圖像中,幾個(gè)對象相對彼此的位置進(jìn)行移動。這可以通過平移和旋轉(zhuǎn)局部坐標(biāo)系實(shí)現(xiàn)流水線實(shí)現(xiàn)4.1二維圖形幾何變換4.1.1齊次坐標(biāo)n所謂齊次坐標(biāo)表示法就是將一個(gè)原本是n維的向量用一個(gè)n+1維向量來表示。例如:二維坐標(biāo)點(diǎn)P(x,y)的齊次坐標(biāo)為: (Hx , Hy , H)其中,H是任一不為0的比例系數(shù)。4.1.2二維圖形的基本變換n如果用P= x y

15、1表示XY平面上一個(gè)未被變換的點(diǎn),用P= x y 1表示P點(diǎn)經(jīng)某種變換后的新點(diǎn),用一個(gè)3*3矩陣T表示變換矩陣:n則圖形變換可以統(tǒng)一表示為:P=PTihgfedcbaT1平移變換n平移是一種不產(chǎn)生變形而移動物體的剛體變換。n假定從點(diǎn)P平移到點(diǎn)P ,點(diǎn)P沿X方向的平移量為m,沿Y方向的平移量為n,構(gòu)造平移矩陣T:1010001nmT2比例變換n基本的比例變換是指圖形相對于坐標(biāo)原點(diǎn),按比例系數(shù)(Sx,Sy)放大或縮小的變換。n假定點(diǎn)P相對于坐標(biāo)原點(diǎn)沿X方向放縮Sx倍,沿Y方向放縮Sy倍,構(gòu)造比例矩陣T:1000000SySxTxyO原 圖1xySS1xySS( )xyaSS時(shí)比例變換Oxy原 圖x

16、ySSxySS( )xybSS時(shí)比例變換n如果比例變換矩陣為如下形式:n此時(shí)進(jìn)行整體比例變換,比例系數(shù)為(1/S,1/S)。 ST000100013旋轉(zhuǎn)變換n基本的旋轉(zhuǎn)變換是指將圖形圍繞圓心逆時(shí)針轉(zhuǎn)動一個(gè)角度的變換。n假定從P點(diǎn)繞原點(diǎn)逆時(shí)針旋轉(zhuǎn)角到P點(diǎn),構(gòu)造旋轉(zhuǎn)矩陣T: 1000cossin0sincosT4對稱變換(1)關(guān)于X軸的對稱變換n點(diǎn)P(x,y)關(guān)于X軸的對稱點(diǎn)為 P(x, -y),構(gòu)造對稱矩陣T:100010001T(2)關(guān)于Y軸的對稱變換n點(diǎn)P(x,y)關(guān)于Y軸的對稱點(diǎn)為 P(-x, y),構(gòu)造對稱矩陣T:100010001T(3)關(guān)于坐標(biāo)原點(diǎn)的對稱變換n點(diǎn)P(x,y)關(guān)于坐標(biāo)原

17、點(diǎn)的對稱點(diǎn)為 P(-x, -y),構(gòu)造對稱矩陣T:100010001T(4)關(guān)于y=x(+45)直線的對稱變換n點(diǎn)P(x,y)關(guān)于y=x直線的對稱點(diǎn)為 P(y,x) ,構(gòu)造對稱矩陣T:100001010T(5)關(guān)于y=-x(-45)直線的對稱變換n點(diǎn)P(x,y)關(guān)于y=-x直線的對稱點(diǎn)為 P(-y,-x),構(gòu)造對稱矩陣T:100001010Tn考慮沿x軸的錯(cuò)切此時(shí),圖形的y坐標(biāo)不變,x坐標(biāo)隨初值(x,y)及變換系數(shù)b作線性變換;如b0,圖形將沿+x方向作錯(cuò)切位移;如b0,圖形將沿+y方向作錯(cuò)切位移;如d0,圖形將沿+y方向作錯(cuò)切位移;如d 360.0 )thetaaxis -= 360.0;g

18、lutPostRedisplay();void mouse(GLint btn,GLint state,GLint x,GLint y)if(btn=GLUT_LEFT_BUTTON & state = GLUT_DOWN)axis = 0;if(btn=GLUT_MIDDLE_BUTTON & state = GLUT_DOWN)axis = 1;if(btn=GLUT_RIGHT_BUTTON & state = GLUT_DOWN)axis = 2;顯示回調(diào)函數(shù)void display(void)glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glRotatef(theta0,1.0, 0.0, 0.0);glRotatef(theta1,0.0, 1.0, 0.0);glRotatef(theta2,0.0, 0.0, 1.0);colo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論