計(jì)算機(jī)圖形學(xué)chap7 三維變換及三維觀察.ppt_第1頁(yè)
計(jì)算機(jī)圖形學(xué)chap7 三維變換及三維觀察.ppt_第2頁(yè)
計(jì)算機(jī)圖形學(xué)chap7 三維變換及三維觀察.ppt_第3頁(yè)
計(jì)算機(jī)圖形學(xué)chap7 三維變換及三維觀察.ppt_第4頁(yè)
計(jì)算機(jī)圖形學(xué)chap7 三維變換及三維觀察.ppt_第5頁(yè)
已閱讀5頁(yè),還剩187頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)圖形學(xué)基礎(chǔ),華東理工大學(xué)計(jì)算機(jī)系 謝曉玲,2,第七章 三維變換及三維觀察,如何對(duì)三維圖形進(jìn)行方向、尺寸和形狀方面的變換; 如何進(jìn)行投影變換; 如何方便地實(shí)現(xiàn)在顯示設(shè)備上對(duì)三維圖形進(jìn)行觀察;,3,三維變換,三維齊次坐標(biāo)變換矩陣 三維基本幾何變換 三維復(fù)合變換,4,三維齊次坐標(biāo)變換矩陣,5,三維基本幾何變換都是相對(duì)于坐標(biāo)原點(diǎn)和坐標(biāo)軸進(jìn)行的幾何變換。 假設(shè)三維形體變換前一點(diǎn)為p(x,y,z),變換后為p(x,y,z)。,三維基本幾何變換,6,三維基本幾何變換平移變換,圖7-4 三維平移變換,7,一般比例變換,三維基本幾何變換比例變換,8,例:對(duì)下圖所示的長(zhǎng)方形體進(jìn)行比例變換,其中a=1/2,e

2、=1/3,j=1/2,求變換后的長(zhǎng)方形體各點(diǎn)坐標(biāo)。,三維基本幾何變換比例變換,圖7-5 三維比例變換,10,三維基本幾何變換比例變換,整體比例變換,11,三維基本幾何變換旋轉(zhuǎn)變換,圖7-6 三維旋轉(zhuǎn)的方向與角度,角的正負(fù)按右手規(guī)則確定,右手大姆指指向旋轉(zhuǎn)軸的正向, 其余四個(gè)手指指向旋轉(zhuǎn)角的正向, 如圖所示。 即:沿著坐標(biāo)軸的正方向觀察原點(diǎn),那么繞坐標(biāo)軸的逆時(shí)針為正,順時(shí)針為。,12,三維基本幾何變換旋轉(zhuǎn)變換,繞Z軸旋轉(zhuǎn) 三維空間立體繞z軸正向旋轉(zhuǎn)時(shí), 立體上各頂點(diǎn)的x, y坐標(biāo)改變, 而z坐標(biāo)不變。 T-1Rz()=TRz(-),圖7-6 三維旋轉(zhuǎn)的方向與角度,13,三維基本幾何變換旋轉(zhuǎn)變換,

3、繞X軸旋轉(zhuǎn) 三維空間立體繞x軸旋轉(zhuǎn)時(shí), 立體上各頂點(diǎn)的y, z坐標(biāo)改變, 而x坐標(biāo)不變。 T-1Rx()=TRx(-),圖7-6 三維旋轉(zhuǎn)的方向與角度,繞Y軸旋轉(zhuǎn) 三維空間立體繞y軸正向旋轉(zhuǎn)時(shí), 立體上各頂點(diǎn)的x, z坐標(biāo)改變, 而y坐標(biāo)不變。 T-1Ry()=TRy(-),14,三維基本幾何變換旋轉(zhuǎn)變換,圖7-6 三維旋轉(zhuǎn)的方向與角度,繞某軸正向旋轉(zhuǎn)角的規(guī)律 已知繞z軸旋轉(zhuǎn)角,根據(jù)以下規(guī)律,可以替換出繞其他軸的旋轉(zhuǎn)變換: X-Y-Z-X(a),三維基本幾何變換旋轉(zhuǎn)變換,繞某軸正向旋轉(zhuǎn)角的規(guī)律 已知繞z軸旋轉(zhuǎn)角的旋轉(zhuǎn)變換: x=x cos z -y sinz y=x sin z +y cos

4、z(b) z=z 將(b)中x,y,z按(a)的規(guī)律替換,可得繞x軸的旋轉(zhuǎn)變換: y=y cos x -z sinx z=y sin x +z cos x(c) x=x 將(c)中x,y,z按(a)的規(guī)律替換,可得繞y軸的旋轉(zhuǎn)變換: z=z cos y -x siny x=z sin y +x cos y(d) y=y,(b)a繞x正向旋轉(zhuǎn)90(c) a繞y正向旋轉(zhuǎn)90(d) a繞x正向旋轉(zhuǎn)90,三維旋轉(zhuǎn)舉例 設(shè)三棱柱ABCDEF(如圖a)的各頂點(diǎn)為A(0,0,0),B(20,0,0), C(0,10,0), D(0, 0, 10), E(20, 0, 10), F(0, 10, 10), 試

5、求三棱柱ABCDEF各繞x, y, z各軸正向旋轉(zhuǎn)90后各頂點(diǎn)的新坐標(biāo)。,三維基本幾何變換旋轉(zhuǎn)變換,18,關(guān)于坐標(biāo)平面對(duì)稱(chēng) 關(guān)于XOY平面進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,三維基本幾何變換對(duì)稱(chēng)變換,19,關(guān)于YOZ平面進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,三維基本幾何變換對(duì)稱(chēng)變換,20,三維基本幾何變換對(duì)稱(chēng)變換,關(guān)于ZOX平面進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,反射變換示意圖 (a) 對(duì)xOy面的反射; (b) 對(duì)yOz面的反射; (c) 對(duì)xOz面的反射,三維基本幾何變換對(duì)稱(chēng)變換,22,關(guān)于坐標(biāo)軸對(duì)稱(chēng)變換 關(guān)于x軸進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,三維基本幾何變換對(duì)稱(chēng)變換,23,三維基本幾何變換對(duì)稱(chēng)變換,

6、關(guān)于Y軸進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,24,關(guān)于Z軸進(jìn)行對(duì)稱(chēng)變換的矩陣計(jì)算形式為:,三維基本幾何變換對(duì)稱(chēng)變換,25,關(guān)于原點(diǎn)對(duì)稱(chēng),三維基本幾何變換對(duì)稱(chēng)變換,26,三維基本幾何變換錯(cuò)切變換,三維錯(cuò)切變換是指三維立體在空間沿x、 y、 z三個(gè)方向?qū)崿F(xiàn)錯(cuò)切變形, 三維錯(cuò)切是二維錯(cuò)切變換的一個(gè)擴(kuò)充。 三維錯(cuò)切變換矩陣為:,沿z方向錯(cuò)切:Tshz= 1 0 c 0 0 1 f 0 0 0 1 0 0 0 0 1 沿x方向錯(cuò)切:Tshx= 1 0 0 0 d 1 0 0 g 0 1 0 0 0 0 1 沿y方向錯(cuò)切:Tshy= 1 b 0 0 0 1 0 0 0 h 1 0 0 0 0 1,以z軸為依賴(lài)

7、軸(z值不變)的三維錯(cuò)切變換矩陣: SHz(shx,shy)= 1 0 0 0 0 1 0 0 shx shz 1 0 0 0 0 1,三維基本幾何變換錯(cuò)切變換,29,逆變換:所謂逆變換即是與上述變換過(guò)程的相反的變換。 平移的逆變換,三維基本幾何變換,30,比例的逆變換 局部比例變換的逆變換矩陣為:,三維基本幾何變換,31,整體比例變換的逆變換矩陣為:,三維基本幾何變換,32,三維基本幾何變換,旋轉(zhuǎn)的逆變換 T-1Rz()=TRz(-) T-1Rz(-)=TRz(),33,三維復(fù)合變換是指圖形作一次以上的變換,變換結(jié)果是每次變換矩陣的乘積。 P-1=(PT)-1=T-1P-1=Tn-1T2-1

8、T1-1P-1,三維復(fù)合變換,34,相對(duì)于參考點(diǎn)F(xf,yf,zf)作比例、對(duì)稱(chēng)等變換的過(guò)程分為以下三步: (1)將參考點(diǎn)F移至坐標(biāo)原點(diǎn),T1(-xf,-yf,-zf); (2)針對(duì)原點(diǎn)進(jìn)行三維幾何變換,T2; (3)進(jìn)行反平移,T3(xf,yf,zf)。 T=T1T2T3,相對(duì)任一參考點(diǎn)的三維變換,35,相對(duì)于F(xf,yf,zf)點(diǎn)進(jìn)行比例變換,相對(duì)任一參考點(diǎn)的三維變換,圖7-7 相對(duì)參考點(diǎn)F的比例變換,36,問(wèn)題:如何求出為T(mén)RAB。 平移,使旋轉(zhuǎn)軸過(guò)坐標(biāo)原點(diǎn); 旋轉(zhuǎn),使旋轉(zhuǎn)軸與某一坐標(biāo)軸重合; 按規(guī)定旋轉(zhuǎn); 反旋轉(zhuǎn),使旋轉(zhuǎn)軸回到原來(lái)的方位; 反平移,使旋轉(zhuǎn)軸回到原來(lái)的位置。,繞任意軸

9、的三維旋轉(zhuǎn)變換,圖7-8 P點(diǎn)繞AB軸旋轉(zhuǎn),37,(1) 將坐標(biāo)原點(diǎn)平移到A點(diǎn);,繞任意軸的三維旋轉(zhuǎn)變換,圖7-9 三維旋轉(zhuǎn),設(shè):A(x1,y1,z1),B(x2,y2,z2); 旋轉(zhuǎn)軸矢量U=B-A=(x2-x1,y2-y1,z2-z1) 沿旋轉(zhuǎn)軸矢量的單位矢量u=U/|U|=(a,b,c) 其中:a=(x2-x1)/|U| b=(y2-y1)/|U| c=(z2-z1)/|U| 令:v= b2+c2 則:cos=c/v sin=b/v,39,(2) 將OBB繞x軸逆時(shí)針旋轉(zhuǎn)角,則OB旋轉(zhuǎn)到xoz平面上;,繞任意軸的三維旋轉(zhuǎn)變換,圖7-9 三維旋轉(zhuǎn),圖7-9 三維旋轉(zhuǎn),令:u= a2+v2

10、= a2+b2+c2 則:cos=v/u sin=a/u,41,繞任意軸的三維旋轉(zhuǎn)變換,(3) 將OB繞y軸順時(shí)針旋轉(zhuǎn)角,則OB旋轉(zhuǎn)到z軸上;,42,(4) 經(jīng)以上三步變換后,AB軸與z軸重合,此時(shí)繞AB軸的旋轉(zhuǎn)轉(zhuǎn)換為繞z軸的旋轉(zhuǎn); (5) 最后,求TtA,TRx,TRy的逆變換,回到AB原來(lái)的位置。(6)TRx-1()=TRx (-),同理TRy-1()=TRy (- );,繞任意軸的三維旋轉(zhuǎn)變換,43,類(lèi)似地,針對(duì)任意方向軸的變換可用五個(gè)步驟來(lái)完成: (1)使任意方向軸的起點(diǎn)與坐標(biāo)原點(diǎn)重合,此時(shí)進(jìn)行平移變換。 (2)使方向軸與某一坐標(biāo)軸重合,此時(shí)需進(jìn)行旋轉(zhuǎn)變換,且旋轉(zhuǎn)變換可能不止一次。 (

11、3)針對(duì)該坐標(biāo)軸完成變換。 (4)用逆旋轉(zhuǎn)變換使方向軸回到其原始方向。 (5)用逆平移變換使方向軸回到其原始位置。,繞任意軸的三維旋轉(zhuǎn)變換,數(shù)學(xué)基礎(chǔ)矢量,另一種基于矢量的推導(dǎo)方法: 矢量具有確定的方向和大小(長(zhǎng)度) 矢量是流動(dòng)的,無(wú)位置概念 矢量的運(yùn)算 C=A+B, B=2A,數(shù)學(xué)基礎(chǔ)矢量,點(diǎn)表示空間中的一個(gè)位置 點(diǎn)和另一個(gè)點(diǎn)相減得到一個(gè)矢量 v=P-Q 矢量和點(diǎn)相加得到另一個(gè)點(diǎn) P=Q+v 點(diǎn)和矢量都是客觀實(shí)在 矢量為實(shí)數(shù)的n元組,常用u、v或w表示,數(shù)學(xué)基礎(chǔ)矢量,矢量v和w相加為以v和w為邊的四邊形的對(duì)角線 標(biāo)量乘法(實(shí)數(shù)或與矢量相乘)為各個(gè)分量分別相乘 (+)v= v+ v、 (v+w)

12、 = v+ w、 1v=v、,v,v,數(shù)學(xué)基礎(chǔ)歐氏空間,數(shù)量乘(點(diǎn)乘) a=uv (a為實(shí)數(shù),u、v為矢量) x1y1 x2y2 =x1y1+x2y2+xnyn xnyn 00=0 如果uv=0,則稱(chēng)u和v垂直 矢量的長(zhǎng)度|v|, |v|2=vv=vx2+vy2+vz2 |v|= vx2+vy2+vz2 單位矢量v=v/|v|,數(shù)學(xué)基礎(chǔ)歐氏空間,兩矢量u、v的數(shù)量積,等于兩矢量的模和它們之間的夾角的余弦的乘積: uv =|u|v|cos() = uxvx+uyvy+uzvz 如果v是單位矢量,則: uv =|u|cos(), 即:矢量u、v的數(shù)量積等于其中一個(gè)矢量的模和另一個(gè)矢量在這個(gè)矢量的方

13、向的投影的乘積。 cos()= uv/|u|v|,U,兩矢量u、v的矢量乘uv,滿(mǎn)足三個(gè)條件: |uv|=|u|v|sin() uv u、 uv v uv的方向由”右手法則”確定方向 設(shè)n為垂直于U和V的單位向量, 其方向由右手定律決定,則: uv=n|uv|=n|u|v|sin() |u|= ux2+uy2+ uz2,數(shù)學(xué)基礎(chǔ)歐氏空間,設(shè)i,j,k為x,y,z軸的單位向量(量值為1),則: UV = (ux*i+uy*j+uz*k)(vx*i+vy*j+vz*k) =uxvx(ii)+ uyvx(ji)+ uzvx(ki)+ uxvy(ij)+ uyvy(jj)+ uzvy(kj)+ uxv

14、z(ik)+ uyvz(jk)+ uzvz(kk) i,j,k是相互垂直的單位矢量, 具有以下關(guān)系: ii=0、jj=0、kk=0 ij=-ji=k、jk=-kj=i、ki=-ik=j,數(shù)學(xué)基礎(chǔ)歐氏空間,UV=(UyVz-UzVy)i +(UzVx-UxVz)j +(UxVy-UyVx)k 可以借助笛卡爾分量以行列式格式寫(xiě)出叉積: i j k 1 1 1 UyVz-UzVy UV= ux uy uz = ux uy uz = UzVx-UxVz vx vy vz vx vy vz UxVy-UyVx 其中i、j和k是三個(gè)軸方向的單位矢量,數(shù)學(xué)基礎(chǔ)歐氏空間,矢量乘UV不滿(mǎn)足交換律 UV=-(VU

15、) 矢量乘不滿(mǎn)足結(jié)合律 U(VN)(UV)N 兩個(gè)平行向量的矢量乘為0 數(shù)量乘UV滿(mǎn)足交換律 UV=VU 數(shù)量乘滿(mǎn)足分配律 (U+V)N =UN + VN 兩個(gè)垂直向量的數(shù)量乘為0,即如果uv=0,則稱(chēng)u和v垂直,數(shù)學(xué)基礎(chǔ)歐氏空間,設(shè)A(x1,y1,z1),B(x2,y2,z2); 旋轉(zhuǎn)軸矢量U=B-A=(x2-x1,y2-y1,z2-z1) 沿旋轉(zhuǎn)軸矢量的單位矢量u=U/|U|=(a,b,c) 其中:a=(x2-x1)/|U| b=(y2-y1)/|U| c=(z2-z1)/|U| 向量ux、uy、uz為向量U的各分量a,b,c的方向余弦。,繞任意軸的三維旋轉(zhuǎn)變換基于矢量,54,平移,是將坐

16、標(biāo)原點(diǎn)平移到A點(diǎn);,繞任意軸的三維旋轉(zhuǎn)變換基于矢量,2. 將BoB繞x軸逆時(shí)針旋轉(zhuǎn)角,則oB旋轉(zhuǎn)到XoZ平面上,使u轉(zhuǎn)到XoZ平面,為u; 設(shè):oB為v(0,b,c),計(jì)算v、uz兩矢量之間的夾角 vuz=ux|vuz| =ux|v|uz|sin() sin()=vuz/(ux|v|uz|) 1 1 1 vuz =ux 0 b c =bux 0 0 1 |uz| =1、|v|= 02+b2+c2 = b2+c2 令:d= b2+c2 sin()= b/d cos()= vuz /|v|uz|=c/d,56,1 0 0 0 = 0 c/d b/d 0 0 b/d c/d 0 0 0 0 1,其中

17、:u=uTRx =(a b c 1) TRx =(a 0 d 1),3. 將OB繞y軸旋轉(zhuǎn)-角,則OB旋轉(zhuǎn)到z軸上,使u與正Z軸重合,為u。 計(jì)算U 、Uz兩矢量之間的夾角 |u|uz|= a2+b2+c2 令:d= b2+c2 ,l = a2+b2+c2 則:cos()= u.uz/ |u|.|uz|= d/l 1 1 1 uuz = uy a 0 d = -auy 0 0 1 sin()=uuz/uy.|u|.|uz|=-a/l,58,d/l 0 a/l 0 = 0 1 0 0 -a/l 0 d/l 0 0 0 0 1,59,(4) 經(jīng)以上三步變換后,AB軸與z軸重合,此時(shí)繞AB軸的旋轉(zhuǎn)轉(zhuǎn)

18、換為繞z軸的旋轉(zhuǎn); (5) 最后,求TtA,TRx,TRy的逆變換,回到AB原來(lái)的位置。,繞任意軸的三維旋轉(zhuǎn)變換,60,投影變換,平面幾何投影 平行投影 透視投影,61,投影變換就是把三維立體(或物體)投射到投影面上得到二維平面圖形的過(guò)程。 平面幾何投影主要指平行投影、透視投影以及通過(guò)這些投影變換而得到的三維立體的常用平面圖形:三視圖、軸測(cè)圖和透視圖等。 觀察投影是指在觀察空間下進(jìn)行的圖形投影變換。,平面幾何投影變換,投影 將n維的點(diǎn)變換成小于n維的點(diǎn) 將3維的點(diǎn)變換成2維的點(diǎn) 投影中心(COP:Center of Projection) 三維空間中的一個(gè)點(diǎn)。 視覺(jué)系統(tǒng)觀察點(diǎn)、視點(diǎn) 投影面 不

19、經(jīng)過(guò)投影中心 平面-照相機(jī)底片 曲面球幕電影,視網(wǎng)膜,平面幾何投影變換,投影線 從投影中心向物體上各點(diǎn)發(fā)出的射線。 投影 投影線與投影面之間的交點(diǎn),即為物體上某個(gè)點(diǎn)在投影面上的投影。 投影變換 將三維空間中的物體變換到二維圖像的過(guò)程。,平面幾何投影變換,64,平面幾何投影變換,圖7-1 線段AB的平面幾何投影,透視中心與投影平面之間的 透視中心在無(wú)窮處 距離是有限的,中心投影法(燈光)透視投影 平行投影法(陽(yáng)光) 斜投影法、正投影法 透視投影最接近于視覺(jué)效果;正投影法是繪制工程圖樣的基礎(chǔ)。,65,平面幾何投影可分為兩大類(lèi): 透視投影的投影中心到投影面之間的距離是有限的; 平行投影的投影中心到投

20、影面之間的距離是無(wú)限的。根據(jù)投影線與投影面之間的夾角不同,又分正投影和斜投影。,平面幾何投影變換,圖7-2 平面幾何投影分為透視投影和平行投影,圖7-3 平面幾何投影的分類(lèi),67,平行投影可分成兩類(lèi):正投影和斜投影。 正投影:投影方向與投影面的夾角為90 斜投影:投影方向與投影面的夾角不為90 性質(zhì):能夠精確地反映物體的實(shí)際尺寸。,平面幾何投影變換平行投影,圖7-10 平行投影,根據(jù)投影面與坐標(biāo)軸的夾角,正投影又可分為:三視圖和正軸測(cè)。 三視圖:投影面與某一坐標(biāo)軸垂直, 正軸測(cè):投影面與所有坐標(biāo)軸不垂直,平面幾何投影變換正投影,圖7-11 正投影,69,三視圖投影面分別與X軸、Y軸和Z軸垂直,

21、分為: 正視圖V(主視圖):投影線平行與y軸,XOZ坐標(biāo)面 俯視圖H(水平投影面):投影線平行與z軸,XOY坐標(biāo)面 側(cè)視圖W(左視圖):投影線平行與x軸,YOZ坐標(biāo)面,平面幾何投影變換三視圖,圖7-12 三維形體及其三視圖,正投影的圖形,在長(zhǎng)寬高三個(gè)方向上的比例與實(shí)物保持一致,因此,常用于工程制圖。 三視圖規(guī)律 正視圖反映長(zhǎng)、高;俯視圖反映長(zhǎng)、寬;側(cè)視圖反映高、寬。 主、俯視圖長(zhǎng)對(duì)正;主、側(cè)視圖高平齊;側(cè)、俯視圖寬相等。,平面幾何投影變換三視圖,71,確定三維形體上各點(diǎn)的位置坐標(biāo); 引入齊次坐標(biāo),求出所作變換相應(yīng)的變換矩陣; 將所作變換用矩陣表示,通過(guò)運(yùn)算求得三維形體上各點(diǎn)(x,y,z)經(jīng)變換

22、后的相應(yīng)點(diǎn)(x,y)或(y,z) ; 由變換后的所有二維點(diǎn)繪出三維形體投影后的三視圖。,平面幾何投影變換三視圖,圖 正投影三視圖變換 (a) 三面投影; (b) 三面投影展開(kāi); (c) 三面投影平移,為使三個(gè)視圖出現(xiàn)在同一個(gè)平面上,通常: 投影變換,得V、W或H面; 一般V面不動(dòng),H面繞X軸旋轉(zhuǎn)-90、W面繞Z軸旋轉(zhuǎn)90; H面沿Z方向平移-Z0; W面沿X方向平移-X0 。,平面幾何投影變換三視圖,73,主視圖:將三維形體向xoz面(又稱(chēng)V面)作垂直投影(即正平行投影),得到主視圖。,平面幾何投影變換三視圖,圖7-12 三維形體及其主視圖,74,主視圖投影矩陣為:,平面幾何投影變換三視圖,7

23、5,俯視圖:三維形體向xoy面(又稱(chēng)H面)作垂直投影得到俯視圖。,平面幾何投影變換三視圖,圖7-12 三維形體及其主、俯視圖,(1) 投影變換,(2) H面繞x軸負(fù)轉(zhuǎn)90,使俯視圖與主視圖在同一個(gè)平面上。,(3)使H面沿z方向平移一段距離-z0,使俯視圖與主視圖之間有一定的間距。,79,俯視圖投影矩陣為:,平面幾何投影變換三視圖,80,側(cè)視圖:獲得側(cè)視圖是將三維形體往yoz面(側(cè)面W)作垂直投影。,平面幾何投影變換三視圖,圖7-12 三維形體及其三視圖,(1) 側(cè)視圖的投影變換,(2)使W面繞z軸正轉(zhuǎn)90,使側(cè)視圖與主視圖在同一個(gè)平面上。,(3)使W面沿負(fù)x方向平移一段距離x0,使側(cè)視圖與主視

24、圖之間有一定的間距。,84,側(cè)視圖投影矩陣為:,平面幾何投影變換三視圖,85,最后的三視圖:,圖例,平面幾何投影變換三視圖,圖7-12 三維形體及其三視圖,正軸測(cè)有分等軸圖、正二側(cè)和正三側(cè)三種: 正等側(cè):投影面與3個(gè)坐標(biāo)軸之間的夾角都相等。 正二側(cè):投影面與2個(gè)坐標(biāo)軸之間的夾角都相等。 正三側(cè):投影面與3個(gè)坐標(biāo)軸之間的夾角都不相等。 (a)等軸圖 (b)正二側(cè) (c)正三側(cè) 圖 正軸測(cè)投影,平面幾何投影變換正軸測(cè)圖,圖7-14 正軸測(cè)圖,令:E為原點(diǎn)O在投影面ABC上的投影點(diǎn),延長(zhǎng)線BE與AC交于D,OF(E在OF的延長(zhǎng)線)為投影面ABC的投影方向矢量(簡(jiǎn)稱(chēng)投影矢量),OAD=COD,記為;E

25、OD=DBO,記為。 正軸投影步驟: 將OF通過(guò)旋轉(zhuǎn)變換到Z軸上,使投影面ABC與XOY平行; 針對(duì)XOY面作投影;,圖 先繞y軸順時(shí)針旋轉(zhuǎn)-角,(1) 先繞y軸順時(shí)針旋轉(zhuǎn)-角,89,(1) 先繞y軸順時(shí)針旋轉(zhuǎn)角,平面幾何投影變換正軸測(cè)圖,圖 再繞x軸逆時(shí)針旋轉(zhuǎn)角,(2)再繞x軸逆時(shí)針旋轉(zhuǎn)角,91,(2) 再繞x軸逆時(shí)針旋轉(zhuǎn)角,平面幾何投影變換正軸測(cè)圖,92,(3) 將三維形體向xoy平面作正投影,平面幾何投影變換正軸測(cè)圖,93,最后得到正軸測(cè)圖的投影變換矩陣(7-45):,此矩陣是一般正軸測(cè)圖的投影變換矩陣。,平面幾何投影變換正軸測(cè)圖,94,正等測(cè)圖 投影面與3個(gè)坐標(biāo)軸之間的夾角都相等。 O

26、A=OB=0C,=45 BD= OD2+OB2= 6/2OB OD= 2/2OA ,平面幾何投影變換正軸測(cè)圖,圖7-19 正等測(cè)圖,95,將和的值代入(7-45)式得到正等測(cè)圖的投影變換矩陣:,平面幾何投影變換正軸測(cè)圖,96,正二測(cè)圖 投影面與2個(gè)坐標(biāo)軸之間的夾角都相等。設(shè)投影面與x和z軸之間的夾角相等。 ,平面幾何投影變換正軸測(cè)圖,圖7-20 正二測(cè)圖,97,將值代入(7-45)式得到正二測(cè)圖的投影變換矩陣:,平面幾何投影變換正軸測(cè)圖,98,能同時(shí)反映物體的多個(gè)面,具有一定的立體效果。 能使空間任意一組平行線的投影仍然保持平行。 不能保持三維空間的角度關(guān)系。 沿三個(gè)坐標(biāo)軸的方向均可測(cè)量距離,

27、但要注意比例關(guān)系。,平面幾何投影變換正軸測(cè)圖,99,斜投影圖,即斜軸測(cè)圖,是將三維形體向一個(gè)單一的投影面作平行投影,但投影方向不垂直于投影面所得到的平面圖形。 通常選用垂直于某個(gè)坐標(biāo)軸的投影面,使得平行于投影面的形體表面可以進(jìn)行距離和角度的測(cè)量,而其他面可以沿坐標(biāo)軸測(cè)量距離。 特點(diǎn):既可以進(jìn)行測(cè)量距離和角度,又可以同時(shí)反映三維形體的多個(gè)面,具有立體效果。,平面幾何投影變換斜投影圖,100,常用的斜軸測(cè)圖有斜等測(cè)圖和斜二測(cè)圖。 斜等測(cè):投影方向與投影面成45角度(arctan1)。和投影面垂直的任何直線段,其投影的長(zhǎng)度不變。 比如op=op。,平面幾何投影變換斜投影圖,圖7-15 斜平行投影,1

28、01,常用的斜軸測(cè)圖有斜等測(cè)圖和斜二測(cè)圖。 2. 斜二測(cè):投影方向與投影面成arctan2角度。和投影面垂直的任何直線段,其投影的長(zhǎng)度為原來(lái)的一半。 比如op=2op。,平面幾何投影變換斜投影圖,圖7-15 斜平行投影,102,圖7-16 斜平行投影的形成 m=zp/tan=zpctg; 對(duì)于點(diǎn)q(xq,yq,zq) xp=mcos=zpcosctg xq=xq+zqcosctg yp=msin=zpsinctg yq=yq+zqsinctg,平面幾何投影變換斜投影圖,103,斜平行投影的投影變換矩陣為: 1 0 0 0 1 0 0 0 = 0 1 0 0 0 1 0 0 cosctg sin

29、ctg 1 0 0 0 0 0 0 00 1 0 0 0 1 x、y按z值成比例的移動(dòng) xoy投影,平面幾何投影變換斜投影圖,對(duì)于斜等測(cè)圖有:=45,ctg=1。 斜二測(cè)圖則有:=arctg(2),ctg=1/2。 通常取30或45。,圖7-22 斜平行投影,105,平面幾何投影變換斜投影圖,圖7-17 單位立方體的斜平行投影,為45時(shí)兩種斜等測(cè)投影 所有與投影面垂直的直線在投影中長(zhǎng)度不變,為arctan2時(shí)兩種斜等測(cè)投影 所有與投影面垂直的直線在投影中成一半長(zhǎng)度,圖 透視投影,從視點(diǎn)(投影中心)發(fā)出的所有通過(guò)對(duì)象(景)的射線和投影平面的交點(diǎn)形成三維立體的“像”,這就是透視投影, 如圖所示。,

30、平面幾何投影變換透視投影,107,圖7-18 透視投影,設(shè):投影面為xoy,投影中心在z軸上(z=-d)處,則空間點(diǎn)p(x,y,z)的透視投影p(x,y,z)的坐標(biāo)為: 相似三角形, x=x/(1+z/d) y=y/(1+z/d) z=0,透視矩陣 xoy投影矩陣,生成透視圖分兩步進(jìn)行: 對(duì)立體進(jìn)行透視變換; 設(shè):r=1/d 然后向XOY坐標(biāo)平面作正投影。 當(dāng)d-,r-0,透視-平行,109,透視投影特性 物體的透視投影的大小與物體到投影中心的Z方向距離成反比符合近大遠(yuǎn)小的視覺(jué)效果。 d 的取值不同,可對(duì)形成的透視投影圖起放大和縮小的作用。,平面幾何投影變換透視投影,圖 透視縮小效應(yīng),110,

31、透視投影的深度感更強(qiáng),更加具有真實(shí)感,但透視投影不能夠準(zhǔn)確反映物體的大小和形狀。 透視投影的大小與物體到投影中心的距離有關(guān)。 一組平行線若平行于投影平面時(shí),它們的透視投影仍然保持平行。 只有當(dāng)物體表面平行于投影平面時(shí),該表面上的角度在透視投影中才能被保持。,平面幾何投影變換透視投影,圖 滅點(diǎn) 不平行于投影面的平行線的投影會(huì)匯聚到一個(gè)點(diǎn),這個(gè)點(diǎn)稱(chēng)為滅點(diǎn)(Vanishing Point)。,112,坐標(biāo)軸方向的平行線在投影面上形成的滅點(diǎn)稱(chēng)作主滅點(diǎn)。 一點(diǎn)透視有一個(gè)主滅點(diǎn),即投影面與一個(gè)坐標(biāo)軸正交,與另外兩個(gè)坐標(biāo)軸平行。 兩點(diǎn)透視有兩個(gè)主滅點(diǎn),即投影面與兩個(gè)坐標(biāo)軸相交,與另一個(gè)坐標(biāo)軸平行。 三點(diǎn)透視

32、有三個(gè)主滅點(diǎn),即投影面與三個(gè)坐標(biāo)軸都相交。,圖7-19 透視投影,113,透視投影的變換矩陣:,平面幾何投影變換透視投影,(1) 一點(diǎn)透視 設(shè)r0,p=q=0, 對(duì)點(diǎn)x,y,z進(jìn)行變換: 1 0 0 0 x y z 1 0 1 0 0 = x y z rz+1 0 0 1 r 0 0 0 1 = x/(rz+1) y/(rz+1) z/(rz+1) 1 (齊次化) 當(dāng)z=0(在XOY坐標(biāo)平面內(nèi)): x y z 1 = x y 0 1 2.當(dāng) z x y z 1 = 0 0 1/r 1,平面幾何投影變換透視投影,現(xiàn)在來(lái)對(duì)z的取值情況進(jìn)行討論: 當(dāng)z值無(wú)限變大時(shí),所有點(diǎn)經(jīng)過(guò)變換后均集中于z軸上的

33、1/r 處,于是所有平行于z軸的直線將延伸相交于此點(diǎn)。該點(diǎn)( 0,0,1/r)稱(chēng)為滅點(diǎn)。,(1) 二點(diǎn)透視 設(shè)p0,r0,q=0, 對(duì)點(diǎn)x,y,z進(jìn)行變換: 1 0 0 p x y z 1 0 1 0 0 = x y z px+rz+1 0 0 1 r 0 0 0 1 =x/(px+rz+1) y/(px+rz+1) z/(px+rz+1) 1 (齊次化) 一個(gè)滅點(diǎn)(x)在軸上的1/p處; 另一個(gè)滅點(diǎn)(z)在軸上的1/r處。,平面幾何投影變換透視投影,(3)三點(diǎn)透視 以此類(lèi)推,當(dāng) p、q、r三個(gè)元素全為非0時(shí),變換的結(jié)果將形成三點(diǎn)透視。產(chǎn)生的三個(gè)滅點(diǎn)將分別位于軸上的1/p處、軸上的 1/q 處

34、和軸上的 1/r 處。,平面幾何投影變換透視投影,118,在生成一點(diǎn)透視圖時(shí),為了避免特殊位置透視,使產(chǎn)生的透視圖立體感較好,通常要在進(jìn)行透視變換前先將立體平移到一個(gè)合適的位置(例如離開(kāi)坐標(biāo)系中心),然后再進(jìn)行透視變換。,平面幾何投影變換透視投影,設(shè):視點(diǎn)(投影中心)在Z軸上(z=-d),投影面在XOY上,一點(diǎn)透視的步驟: 平移三維形體到(l、m、n) 確定d的值,透視變換 向XOY作正投影變換,平面幾何投影變換一點(diǎn)透視,1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 Tp1=0 1 0 0 0 1 0 0 0 1 0 0 = 0 1 0 0 0 0 1 0 0 0 1 1/d

35、 0 0 0 0 0 0 0 1/d l m n 1 0 0 0 1 0 0 0 1 l m 0 1+n/d,(a) 單位立方體,(b) 一點(diǎn)透視,舉例:?jiǎn)挝涣⒎襟w(如圖a)的一點(diǎn)透視投影。 要求:將頂點(diǎn)(0,0,0)平移(l,m,n),并以(0,0,d)為投影中心,將結(jié)果投影到z=0得平面(如圖b),求變換矩陣。 已知:l=0.8, m=-1.6, n=-2,d=-2.5 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 Tp1= 0 0 0 1/d = 0 0 0 -0.4 l m 0 1+n/d 0.8 -1.6 0 1.8,兩點(diǎn)透視繪圖方法 將頂點(diǎn)(0,0,0)平移(l,

36、m,n) 繞y軸旋轉(zhuǎn)角度(90) 二點(diǎn)透視變換 向xoy平面(z=0)進(jìn)行正投影變換,平面幾何投影變換二點(diǎn)透視,(a)單位立方體 (b)平移(l,m,n) (c)繞y旋轉(zhuǎn) (d)透視投影,1 0 0 0 cos 0 sin 0 1 0 0 p 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 -sin 0 cos 0 0 0 1 r 0 0 0 0 l m n 1 0 0 0 1 0 0 0 1 1 0 0 0 cos 0 0 pcos-rsin = 0 1 0 0 0 0 0 psin+rcos lcos+nsin m 0 p(lcos+nsin

37、)+r(ncos-lsin)+1,兩點(diǎn)透視另一種繪圖方法: 將形體繞y軸旋轉(zhuǎn)角度(右手法則,90); 將頂點(diǎn)(0,0,0)平移(l,m,n); 以(0,0,d)為投影中心向xoy平面(z=0)進(jìn)行透視投影變換 cos 0 -sin 0 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 sin 0 cos 0 0 0 1 0 0 0 0 1/d 0 0 0 1 l m n 0 0 0 0 1 cos 0 0 -sin/d = 0 1 0 0 sin 0 0 cos/d l m 0 n/d+1,三點(diǎn)透視繪圖方法 將頂點(diǎn)(0,0,0)平移到適當(dāng)位置(l,m,n) 將形體

38、繞y軸旋轉(zhuǎn)角度 將形體繞x軸旋轉(zhuǎn)角度 三點(diǎn)透視變換 向xoy平面(z=0)進(jìn)行正投影變換,平面幾何投影變換三點(diǎn)透視,三點(diǎn)透視繪圖方法 將頂點(diǎn)(0,0,0)平移到適當(dāng)位置(l,m,n) 將形體繞y軸旋轉(zhuǎn)角度 將形體繞x軸旋轉(zhuǎn)角度 三點(diǎn)透視變換 向xoy平面(z=0)進(jìn)行正投影變換 1 0 0 0 cos 0 -sin 0 1 0 0 0 1 0 0 p 1 0 0 0 0 1 0 0 0 1 0 0 0 cos -sin 0 0 1 0 q 0 1 0 0 0 0 0 0 sin 0 cos 0 0 -sin cos 0 0 0 1 r 0 0 0 0 l m n 1 0 0 0 1 0 0 0

39、 1 0 0 0 1 0 0 0 1,平面幾何投影變換三點(diǎn)透視,三點(diǎn)透視另一種繪圖方法: 將形體繞y軸旋轉(zhuǎn)角度; 將形體繞x軸旋轉(zhuǎn)角度; 將頂點(diǎn)(0,0,0)平移到適當(dāng)位置(l,m,n); 以(0,0,d)為投影中心向xoy平面(z=0)進(jìn)行透視投影變換。 cos 0 -sin 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 cos sin 0 0 1 0 0 0 1 0 0 sin 0 cos 0 0 -sin cos 0 0 0 1 0 0 0 0 1/d 0 0 0 1 0 0 0 1 l m n 1 0 0 0 1 cos sincos 0 -sincos/d

40、= 0 cos 0 sin/d sin -cossin 0 coscos/d l m 0 n/d+1,127,三維觀察變換,觀察坐標(biāo)系 觀察空間 三維觀察流程 三維裁剪,128,觀察參考坐標(biāo)系xvyvzv(View Reference Coordinate),通常是右手系。 觀察參考點(diǎn)P0(View Reference Point)是觀察坐標(biāo)系的原點(diǎn)。 觀察平面平面總是垂直zv 。,觀察坐標(biāo)系,圖7-22 用戶(hù)坐標(biāo)系與觀察坐標(biāo)系,129,觀察平面(View Plane)(即投影平面) 觀察平面總是垂直zv,即平行于xvyv平面,且可以沿zv軸滑動(dòng)。 如果觀察平面到觀察參考點(diǎn)p0的距離為0,則x

41、vyv平面為觀察平面。,觀察坐標(biāo)系,圖7-25 沿zv軸的觀察平面,130,觀察坐標(biāo)系(uvn坐標(biāo)系)的建立 (1)法矢量Nzv 為三維形體上的一點(diǎn)P點(diǎn)到觀察參考點(diǎn)p0的方向,即:N=p0-p,觀察坐標(biāo)系,圖7-23 法矢量N的定義,一般希望N的方向與用戶(hù)坐標(biāo)原點(diǎn)相關(guān)。,132,(2)法矢量V(View Up,上矢量)yv 選擇一不平行于N的矢量V,通過(guò)V投影到垂直于N的平面上,得投影后的矢量為V。,觀察坐標(biāo)系,圖7-24 法矢量V的定義,(3)法矢量U xv U=VN 通過(guò)改變觀察參考點(diǎn)的位置或改變N的方向可以使用戶(hù)在不同的距離和角度上觀察三維形體。,133,觀察坐標(biāo)系,圖7-23 三維觀察

42、,134,觀察窗口位于觀察平面的任意位置,由(xWmin,yWmin)和(xWmax,yWmax)定義,其邊平行于xv和yv,其中cw為窗口中心。,觀察窗口,圖7-26 觀察窗口,135,觀察空間 將觀察窗口沿投影方向zv作平移運(yùn)動(dòng)產(chǎn)生的三維形體。觀察空間的大小和形狀依賴(lài)于窗口的大小及投影類(lèi)型。 平行投影觀察空間是平行于投影方向并過(guò)窗口邊的直線形成一個(gè)長(zhǎng)度無(wú)限的四棱柱。 透視投影觀察空間是從投影中心向窗口的邊發(fā)出射線,形成四錐體。,觀察空間,136,無(wú)限觀察空間、有限觀察空間(又稱(chēng)裁剪空間) 前后截面 人只能看到有限范圍內(nèi)的景物,為此,設(shè)定二個(gè)裁剪面:前截面(Z=Zfront)、后截面(Z=Z

43、back)都平行于觀察平面。,有限觀察空間,圖7-27 正投影的觀察空間(投影方向垂直觀察平面):平行六面體,(a) 無(wú)限觀察空間,(b) 有限觀察空間,137,有限觀察空間,z,v,y,v,x,v,圖7-28 斜投影的觀察空間:斜平行六面體,(a) 無(wú)限觀察空間,(b) 有限觀察空間,投影,方向,觀察,窗口,138,需注意,對(duì)于透視投影,前截面必須在投影中心和后截面之間。,有限觀察空間,139,觀察平面和前后截面的有關(guān)位置取決于要生成的窗口類(lèi)型及特殊圖形包的限制。 觀察平面除了不包含投影中心以外可以放在Zv軸的任何地方(如圖),且投影中心不介入前后截面。,有限觀察空間,斜投影和透視投影可以受

44、到觀察窗口、投影中心的影響在斜投影中,令斜投影方向平行于參考點(diǎn)與窗口中心的連線,若參考點(diǎn)不動(dòng)而移動(dòng)觀察窗口改變會(huì)改變觀察空間兩側(cè)的傾側(cè)度(如圖a) 。,在透視投影中,如果投影中心接近觀察窗口,其投影效果會(huì)加大(如圖b)。 另外,在透視投影中,當(dāng)三維形體放在投影中心與觀察窗口之間,則放大;當(dāng)觀察窗口放在三維形體和投影中心之間,則縮?。ㄈ鐖Dc) ;,(c)透視投影,如果透視投影以斜四棱臺(tái)、平行投影以斜四棱柱作為投影空間,則面方程表示不規(guī)范,求交、裁剪的處理效率會(huì)很低。 需要規(guī)格化觀察空間: 平行投影視見(jiàn)體的規(guī)范化斜四棱柱轉(zhuǎn)為正四棱柱 透視投影視見(jiàn)體的規(guī)范化斜四棱臺(tái)轉(zhuǎn)為正四棱臺(tái),規(guī)格化觀察空間,14

45、3,平行投影的規(guī)范化觀察空間6個(gè)面的定義:,規(guī)格化觀察空間,144,透視投影的規(guī)范化觀察空間6個(gè)面定義:,規(guī)格化觀察空間,規(guī)格化觀察空間可以進(jìn)一步將透視投影的裁剪空間變換為平行投影的裁剪空間,使平行投影的裁剪空間和透視投影的裁剪空間這二種投影的處理統(tǒng)一化。 在圖像空間中,透視投影的投影中心被移到無(wú)窮遠(yuǎn)處,則透視投影變成平行投影。 透視投影規(guī)格化裁剪空間轉(zhuǎn)換為規(guī)格化圖像空間步驟: 放大前裁剪面,則投影中心由(0,0,0)變?yōu)闊o(wú)窮遠(yuǎn)處,四棱臺(tái)變?yōu)樗睦庵?將前裁剪面移至n=0處,后裁剪面不變。,規(guī)格化觀察空間,圖 10.34 三維觀察流程,三維觀察流程,147,用戶(hù)坐標(biāo)系到觀察坐標(biāo)系變換: 使得觀

46、察坐標(biāo)系與用戶(hù)坐標(biāo)系重合 (1) TtA(-x,-y,-z):平移觀察參考點(diǎn)(x,y,z)到用戶(hù)坐標(biāo)系原點(diǎn); (2) TRx()、TRy(-)、TRz():分別繞xv、yv和zv軸進(jìn)行旋轉(zhuǎn)變換,使得觀察坐標(biāo)軸Xv、Yv和Zv對(duì)應(yīng)到用戶(hù)坐標(biāo)系中的x、y和z軸。 (3) TVW= TtA (-x,-y,-z)TRx()TRy(-)TRz() 用戶(hù)坐標(biāo)系到觀察坐標(biāo)系TWV=T-1VW TWV=(TtA(-x,-y,-z)TRx()TRy(-)TRz()-1 = TRz-1()TRy-1(-)TRx-1()TtA-1(-x,-y,-z) = TRz(-)TRy()TRx(-)TtA (x,y,z) =

47、TtA (x,y,z) TRx(-)TRy( )TRz(-) 如果觀察坐標(biāo)系是左手系,還需關(guān)于XoY平面的反射變換TFxy。即:Tw-v= Twv TFxy,(a)Tv1:平移觀察坐標(biāo)系,(b)TrX:繞x軸旋轉(zhuǎn),使zv落在zox平面上,(c)TrY:繞y軸旋轉(zhuǎn)-,使zv落與z軸重合,(d)TrZ:繞z軸旋轉(zhuǎn)-,使觀察坐標(biāo)系與用戶(hù)坐標(biāo)系重合,TWV=Tv1TrXTrYTrZ,作業(yè):已知一個(gè)單位立方體,其中一個(gè)角點(diǎn)O在(0,0,0),另一個(gè)對(duì)角點(diǎn)A在(1,1,1),導(dǎo)出以主對(duì)角線OA((0,0,0)到(1,1,1))為Ze軸、 A點(diǎn)為觀察參考點(diǎn)、Ye(UP方向)過(guò)主對(duì)角線面的觀察坐標(biāo)系的變換矩陣

48、。,用戶(hù)坐標(biāo)系到觀察坐標(biāo)系變換,分析:,平行投影的規(guī)范化投影變換,正投影有限觀察空間,斜投影有限觀察空間,平行投影的規(guī)范化觀察空間,151,觀察窗口 左下角點(diǎn)(xwmin,ywmin) 右上角點(diǎn)( xwmax,ywmax ) 參考點(diǎn)(xprp,yprp,zprp) 前后截面 Z=Zfront,Z=Zback 觀察平面 Z=Zvp 投影方向?yàn)閺膮⒖键c(diǎn)到觀察窗口中心點(diǎn)的坐標(biāo)矢量。,平行投影的規(guī)范化投影變換,平行投影的規(guī)范化投影變換可由以下三步組成。 (1)Tv3:將參考點(diǎn)(xprp,yprp,zprp)平移到觀察坐標(biāo)系原點(diǎn);窗口坐標(biāo)為:(xWmin-xprp,yWmin-yprp,-zprp);

49、(xWmax-xprp,yWmax-yprp,-zprp)。,152,平行投影的規(guī)范化投影變換,153,(2)Tv4:對(duì)坐標(biāo)系進(jìn)行錯(cuò)切變換,使參考點(diǎn)和窗口中心的連線錯(cuò)切到zv軸; 平移變換后,窗口中心點(diǎn)的坐標(biāo):,平行投影的規(guī)范化投影變換,錯(cuò)切變換Tv4= 1 0 0 0 0 1 0 0 -xcw/zcw ycw/zcw 1 0 0 0 0 1 對(duì)于正投影,xcw=ycw=0,則錯(cuò)切變換為單位矩陣。,156,(3) 進(jìn)行坐標(biāo)的歸一化變換,即比例變換,使得后截面變?yōu)閦v=1的平面,前截面變?yōu)閦v=0的平面。,平行投影的規(guī)范化投影變換,a)Tv5:平移變換,將前截面平移到xvoyv平面上。,b) T

50、v6:比例變換,使得后截面變?yōu)閦v=1的平面。,159,分析:透視投影的規(guī)范化投影變換分兩步進(jìn)行 (1)透視投影的規(guī)范化觀察空間,透視投影的規(guī)范化投影變換,(2)平行投影的規(guī)范化觀察空間,161,觀察窗口:左下角點(diǎn)(xwmin,ywmin,0) 右上角點(diǎn)( xwmax,ywmax,0) 參考點(diǎn):(xprp,yprp,zprp) 前后截面:Z=Zfront,Z=Zback 觀察平面:Z=Zvp,透視投影的規(guī)范化投影變換,(1)Tv3:將投影中心平移到觀察坐標(biāo)系原點(diǎn),窗口坐標(biāo)為:(xWmin-xprp,yWmin-yprp,-zprp),(xWmax-xprp,yWmax-yprp,-zprp)。

51、 窗口中心點(diǎn)的坐標(biāo):,(2)Tv4:對(duì)坐標(biāo)系進(jìn)行錯(cuò)切變換,使窗口中心為(0,0,zcw)。 錯(cuò)切變換: 1 0 0 0 0 1 0 0 -xcw/zcw ycw/zcw 1 0 0 0 0 1,164,(3) Tv7:比例變換。,透視投影的規(guī)范化投影變換,166,(4) 將圖(a)所示的透視投影的規(guī)范化觀察空間變換為圖(b)的平行投影的規(guī)范化觀察空間。,透視投影的規(guī)范化投影變換,考慮經(jīng)Tv3Tv4Tv7的變換,前截面到原點(diǎn)的距離zf為: zf=(zfront-zprp)/zback-zprp 透視投影的規(guī)范化觀察空間6個(gè)面的定義: 前截面角點(diǎn)坐標(biāo)為: (zf,zf,zf),設(shè)變換矩陣為:Tv8

52、= 1 0 0 0 0 1 0 0 0 0 i r 0 0 n s 前截面的角坐標(biāo)(zf,zf,-zf)經(jīng)M變換為(1,1,0) 1 1 0 1 zf zf zf 1 1 0 0 0 -1 1 0 1 = -zf zf zf 1 0 1 0 0 1 -1 0 0 zf zf zf 1 0 0 i r -1 -1 0 1 -zf zf zf 1 0 0 n s,同理,后截面的角坐標(biāo)(1,1, 1)經(jīng)M變換仍為(1,1,1) 1 1 1 1 1 1 1 1 1 0 0 0 -1 1 1 1 = -1 1 1 1 0 1 0 0 1 -1 1 1 1 -1 1 1 0 0 i r -1 -1 1 1

53、 -1 -1 1 1 0 0 n s 由此得:i=1/(1-zf)、r=1、n=zf/(1-zf)、s=0 Tv8= 1 0 0 0 0 1 0 0 0 0 1/(1-zf)1 0 0 zf/(1-zf) 0 其中:zf=-(zFront-zprp)/(zBack-zprp) 三維物體A經(jīng)Tv8變換,在x,y方向產(chǎn)生了反比于z坐標(biāo)的不等比的比例變換(x/z,y/z),即z小,x,y方向放大;反之縮小。,將Tv8與透視投影視見(jiàn)體的規(guī)范化矩陣合并,得新的變換: Nper=NperTv8 = Tv3Tv4Tv7Tv8,171,三維裁剪保留所有在觀察空間內(nèi)的圖形以便在輸出設(shè)備中顯示,所有在觀察空間外的

54、圖形被丟棄。 三維直線段的裁剪 多邊形面的裁剪,三維裁剪,172,四維齊次坐標(biāo)表示的圖形裁剪的二種方案: 將齊次坐標(biāo)轉(zhuǎn)換為三維坐標(biāo),在三維空間中關(guān)于規(guī)范化觀察空間剪裁; 直接在齊次坐標(biāo)空間中進(jìn)行裁剪。,三維裁剪,規(guī)范化觀察空間的6個(gè)面: xv=1(右), xv=-1(左) yv=1(上), yv=-1(下) zv=0(近), zv=1(遠(yuǎn)) 6個(gè)面將空間分成27個(gè)區(qū)域,對(duì)每個(gè)區(qū)域賦予一個(gè)6位區(qū)域碼:,關(guān)于規(guī)范化觀察空間的裁剪,透視投影的觀察空間6個(gè)面: xv=zv(右), xv=-zv(左) yv=zv(上), yv=-zv(下) zv=zmin(近), zv=1(遠(yuǎn)) 6個(gè)面將空間分成27個(gè)

55、區(qū)域,對(duì)每個(gè)區(qū)域賦予一個(gè)6位區(qū)域碼:,關(guān)于規(guī)范化觀察空間的裁剪,If xzmin then C0=1 else C0=0; If xzmin then C2=1 else C2=0; If y1 then C5=1 else C5=0; 例如:101000區(qū)域碼識(shí)別在視見(jiàn)體上面及后面的點(diǎn);000000區(qū)域碼識(shí)別在視見(jiàn)體內(nèi)的點(diǎn)。,關(guān)于規(guī)范化觀察空間的裁剪,Cohen-Southerland應(yīng)用于三維裁剪 若線段二端點(diǎn)的區(qū)域碼都為0,則該線段完全在規(guī)范化觀察空間內(nèi); 若線段二端點(diǎn)的區(qū)域碼按位邏輯與為非0,則該線段完全在觀察空間外,完全為不可見(jiàn); 若線段二端點(diǎn)的區(qū)域碼按位邏輯與為0,則該線段與觀察空

56、間某面相交,求交點(diǎn),將線段一分為二,去掉外側(cè)的一段,對(duì)另一段重新編碼,并重復(fù)上述過(guò)程,直到裁剪結(jié)束。,關(guān)于規(guī)范化觀察空間的裁剪,線段與視見(jiàn)體某面相交點(diǎn) 對(duì)于端點(diǎn)為p1(x1,y1,z1)和p2(x2,y2,z2)的線段,其參數(shù)方程:x=x1+(x2-x1)u y=y1+(y2-y1)u其中u:01 z=z1+(z2-z1)u 將坐標(biāo)為常數(shù)的平面的坐標(biāo)值代入上述參數(shù)方程求得u。例如:z= nmin,則:u=(nmin-z1)/(z2-z1) 若u不在01的范圍內(nèi),則該線段與前平面均不相交; 若u在01的范圍內(nèi),則: xn=x1+(x2-x1)/(nmin-z1)/(z2-z1) yn=y1+(y

57、2-y1)/(nmin-z1)/(z2-z1),關(guān)于規(guī)范化觀察空間的裁剪,178,變換種類(lèi) 模型視圖矩陣 矩陣操作 矩陣堆棧 投影變換 高級(jí)矩陣操作,OpenGL中的變換,179,視圖變換:指定觀察者或攝影機(jī)的位置; 模型變換:在場(chǎng)景中移動(dòng)對(duì)象; 模型視圖變換:描述視圖變換與模型變換的對(duì)偶性; 投影變換:對(duì)視見(jiàn)空間進(jìn)行修剪和改變大??; 視見(jiàn)區(qū)變換:對(duì)窗口的最終輸出進(jìn)行縮放;,變換種類(lèi),180,平移 void glTranslated(f)(GLdouble x,GLdouble y,GLdouble z); 旋轉(zhuǎn) void glRotated(f)(GLdouble angle,GLdouble x,GLdouble y,GLdouble z ); 比例 void glScaled(f)(GLdouble x,GLdouble y,GLdouble z);,模型視圖矩陣,181,視圖變換函數(shù)(定義觀察坐標(biāo)系) vo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論