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

下載本文檔

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

文檔簡介

課程內(nèi)容進(jìn)展

綜述,圖形學(xué)'和‘圖形系統(tǒng)'

建模曲線曲面實(shí)體造型

坐標(biāo)系統(tǒng)

基本圖元

觀察觀察流水線裁

口幾何變換

顯示可見面判別光照面繪制

其它UI動畫...

第四講二維觀察和三維觀察

Two--DimensionalViewing

Three--DimensionalViewing

第四講主要內(nèi)容

?二維觀察?

?OpenGL二維觀察相關(guān)函數(shù)?

?二維裁剪4

?三維空間的觀察過程4

?投影口

?三維裁剪邙

?OpenGL三維觀察和裁剪相關(guān)函數(shù)匚

第四講小結(jié)

?二維觀察流水線

-幾種坐標(biāo)系之間的關(guān)系

-裁剪窗口到視口的變換方法

?矩形窗口的線段裁剪算法

?矩形窗口的多邊形裁剪算法

?投影分類:

-正平行、斜平行

-對稱透視、斜透視

?理解各類投影變換的推導(dǎo)及其相互關(guān)系

?理解三維空間的觀察變換過程

練習(xí)題

?編程:用OpenGL實(shí)現(xiàn)任意長方體的線框模型顯示,并通過鍵盤控制視

點(diǎn)的移動(左右遠(yuǎn)近)來實(shí)現(xiàn)觀察效果的改變。

?設(shè)世界坐標(biāo)系下Window由(200,300)和(500,800)兩點(diǎn)給出,規(guī)范化設(shè)

備坐標(biāo)系下Viewport由(0.1,0.1)和(0.7,0.4)兩點(diǎn)給出,屏幕分辨率為

1024x768,屏幕上(240,600)對應(yīng)于Window中哪一坐標(biāo)位置的點(diǎn)?

WorldCoordinateNormalizedDeviceCoordinateScreenCoordinate

二維觀察

?基本概念

?二維觀察流水線

?關(guān)鍵的幾何變換

基本概念

?裁剪窗口:二維場

景(觀察坐標(biāo)系或世

界坐標(biāo)系)中要顯示

的部分

-矩形或其它

?視口:在輸出設(shè)備

上進(jìn)行觀察的位置

-矩形或其它

二維觀察變換流水線

規(guī)范化N

DC

WCVC設(shè)DC

MC建模觀察工作站設(shè)

建和視口

規(guī)

模變換變換變換變換

標(biāo)

標(biāo)

標(biāo)

標(biāo)

標(biāo)

(1)二維坐標(biāo)系變換

(2,裁剪

(3)裁剪后的場景映射到規(guī)范化視口

流水線stepl

直接在世界

定義觀察坐標(biāo)坐標(biāo)系下變

系下的裁剪窗換和裁剪

裁剪窗口到視口的變換

裁剪窗口

規(guī)范化視口

max|

裁剪窗口到視口的復(fù)合變換矩陣

10-xwmjn

L=01

?平移-ywmin

001

"Sx00Umax—XI'min

?縮放.VU'max—XW'min

s=0Sy0

001[/“max—J/"min

1/U'max—,/",min

Mwindow,nonnviewp

?平移T2=01yvmin

001

OpenGL幾個關(guān)鍵的二維觀察函數(shù)

〃視口位置和尺寸(相對于程序窗口)

glViewport(x,y,width,height);

//裁剪窗口函數(shù)

gluOrtho2D(xmin,xmax,ymin,ymax);

xmax,ymax;/

xmin9ymin叵

二維裁剪

?基本概念

?裁剪方法

_占

八、、

-線段

-多邊形

-曲線

-文字

裁剪的相關(guān)概念

?裁剪:消除指定區(qū)域內(nèi)(外)的圖形部分

?“指定區(qū)域”的邊界類型:

-矩形

-多邊形

-圓

-其它曲線

?裁剪對象:

點(diǎn),線,區(qū)域,曲線,文字

?假設(shè)裁剪區(qū)域?yàn)檎齽t矩形

點(diǎn)的裁:IlDi

?P(sy)

?W(xwmin9xwmax9ywmin9ywmax)

.1UhnnW,WAw,max

滿足:則,P點(diǎn)保留(顯示)

WV—J/W,max

否則,P點(diǎn)被裁剪(不顯示)

線段的裁剪

?Cohen-Sutherland算法(CS)

?中點(diǎn)分割裁剪法

核心:

?梁友棟-Barsky算法(梁B)

?Cyrus-Beck方法去B)減少求交

?Nicholl-Lee-Nicholl裁剪法(NLN)

?非矩形窗口的裁剪

Cohen-Sutherland算法

N(Xmin,Xmax,ymin,ymax/

點(diǎn)p(x,y)的二進(jìn)區(qū)域碼f(p)=(TBRL)

-ify>ymax則:T=l,否則:T=0

-ifyvymin則:B=1,否則:B=0

-ifx>Xmax則:R=l,否則:R=0

-ifxVXmin則:L=l,否則:L=0

因此,對于線段(pl,p2),有:

-如果f(Pi尸f(P2尸(0000)線段完全保留

-如果f(Pi)&f(P2)w(0000)線段完全舍棄

-其它情況:需進(jìn)一步判斷和裁剪

Cohen-Sutherland算法一求交

?假定一個和窗口邊界求交的

順序:左、右、下、上

?通過判斷兩個端點(diǎn)的區(qū)域碼

在同一位上的值,可知和當(dāng)

前邊界有沒有交點(diǎn),并求之

?舍棄窗口外的部分

?余下子線段繼續(xù)求交

中點(diǎn)分割裁剪

?中點(diǎn)分害U算法將Cohen_Sutherland算法

中求線段與窗口邊界交點(diǎn)的過程用折半查

找的方法來代替。

?相當(dāng)于Cohen_Sutherland算法的硬件版

本,只需加法和移位,沒有乘除法。

梁友棟-Barsky線段裁剪法

?線段的參數(shù)表示

工=&+〃△丫

y=I/O+0<z/<1

△?V=Xend—匯0

△寸—J/eiid—J/0

?判斷線段上每一點(diǎn)的可見性:

XWmin<X0+USX<XWmax

,川min<I/O+<Wmax

梁-Barsky法

-uAx<x0-xwmin

-VUSiun<Ao+I/AX<XU'maxuAx<xwmax-xc

W'min<J/0+<[/"'max-uAy<y0-ywmin

uAy<ywmax-y0

0

?因此,線段與矩形各uPk<",k=1,2,3,4

邊的交點(diǎn)參數(shù)值為:

Pl=左(]l—XQ—A1thi山

〃=—仇

P2=△》,右w'max—X。

Pk,

P3=下43=J/0—J/W'min

左,右,下,上邊界P4=AJA上,[4=J/^niax-JA)

1,2,3,4

―?Pi=-Ax,=X。一,^min

梁-Barsky法:右―?P2=112=工〃,max—M)

下-—?P3=一△[/,心=JA)—

非平行邊求交上―?P4==J/^max-

梁-Barsky法:非平行邊求交(續(xù))

?max{u1}<min{u2}:可見邊

?max{u1}>min{u2}:舍棄線段

梁-Barsky法:平行邊

?Pk=0(線段平行于裁剪窗口邊界)

-qk<0:整個線段舍棄

-qk>=0:按m邊交點(diǎn)(mwk,PmW。)進(jìn)行裁剪

P1=0

P2=0

Cyrus?Beck方法

?將線段表示成參數(shù)方程

的形式,求線段與窗口邊

界的交點(diǎn)的參數(shù)

?確定線段的可見部分之

后再用交點(diǎn)的參數(shù)計(jì)算交

點(diǎn)的坐標(biāo)。

?適用于矩形或凸多邊形

裁剪窗口。

Nicholl-Lee-Nicholl線段裁剪法

?先按照CS算法,確定完全

可見(不可見)的線段

?其它線段(p1,p2),按p1的

位置分為三種情況(其它情況

可通過對稱性得到)。

多邊形窗口的線段裁剪

?凸多邊形窗口:

-Cyrus-Beck參數(shù)化方法,梁-Barskey擴(kuò)充算法

-如果是平行四邊形,可錯切得到矩形,裁剪,再錯切回去

?凹多邊形窗口:

-可分解成一組凸多邊形

-類似于掃描填充方法的裁剪:求交,判斷是否在窗口內(nèi)

?加速:排除不相交邊

Cyrus-Beck凸多邊形窗口線段裁剪

?采用法線十點(diǎn)積的方法來判別點(diǎn)在窗口內(nèi)/外。

?凸多邊形裁剪窗口上任一點(diǎn)A處的內(nèi)、外法線的

定義如下(B為另一邊上任意點(diǎn)):

-內(nèi)法線Nin?滿足:Nr(B-A)>0

-外法線N°ute『滿足:Noe(B-A)<0

Cyrus-Beck算法

?直線段(P1,P2)的參數(shù)方程為:

L(U)=(P2-P1)U+P1ue[0,1]

對于線段上任意點(diǎn)L(u),裁剪窗口某邊界WL上任一點(diǎn)A,

A處的內(nèi)法線N,有三種可能:

-N?(L(u)-A)<0,

?則L(u)在WL外側(cè)

-N?(L(u)-A)=O,

?則L(u)在WL或其延長線上

-N?(L(u)-A)>0,

?則L(u)在WL內(nèi)側(cè)

?L(u)在凸多邊形內(nèi)(含邊界上)的充要條件是:對于凸多

邊形各個邊界上的任意一點(diǎn)A和該處內(nèi)法向量N,都有

-N?(L(u)-A)>0

?因此:假設(shè)多邊形有m條邊,在每條邊上取一個點(diǎn)A”

和該點(diǎn)處的內(nèi)法線N”則可見線段的參數(shù)區(qū)間為下列一

組不等式的解:

N^LfuhAi)>0(i=1~m)ue[0,1]

該解的最小值UmE和最大值/批對應(yīng)于可見線段的端點(diǎn)

Umin和"max的推導(dǎo)?

L(0)

N『(L(u)?Ai)>0oNi>((P2-P1)u+P1-Ai)>0

??(二時,代表交點(diǎn)參數(shù))

<=>Nr(P2-Pi)u+Nj(PiAJ0u

?平行邊:對于某個i,有*『2?巴)=0,無交點(diǎn)。則:

-線段在區(qū)域外側(cè):Nj?(Pi?AJvO:舍棄

-線段和區(qū)域邊界重疊:Ni?(Pi?AJ=0:通過端點(diǎn)測試得到可見段

-線段在區(qū)域內(nèi)側(cè):Nj(Pi-AJ>0:繼續(xù)和窗口其它邊測試

?非平行邊,則可見部分的參數(shù)U滿足:

U>-Uj,當(dāng)Nj?(P2?Pi)>0線段從外到內(nèi)穿過i邊界

U<-Uj,當(dāng)Nj?(P2?Pi)V0線段從內(nèi)到外穿過i邊界

【注意】這里的“=Nj?(P1-Ai)/Ni*(P2-P1)

?因此:解的最小值和最大值為:

umin=max{0,max{-Uj:}

umax=min{1,min{-UpNi*(P2-P1)<0}

最終:若UminVUmax,則它們是可見線段的端點(diǎn)

參數(shù),否則,線段不可見。

-1^訪(出)代表沿PiP2最后進(jìn)入多邊形的位置。

-Umax&)代表沿P”2最早離開多邊形的位置。

非線性邊界窗口的線段裁剪

?圓形窗口

-不相交情況的排除.

?和圓的包圍盒測試

?圓心到線段距離測試

-線段和圓的求交運(yùn)算

-圓的4/8對稱性的利用

?曲線邊界窗口

附:國內(nèi)發(fā)表的若干線裁剪文章

?一種基于幾何變換的線裁剪新算法,軟件學(xué)報(bào),1998

?一個有效的多邊形窗口的線裁剪算法.計(jì)算機(jī)學(xué)報(bào),1999

?一種快速的圓形窗口裁剪算法,CAD與圖形學(xué)學(xué)報(bào),2001

?基于頂點(diǎn)編碼的多邊形窗口線裁剪高效算法.計(jì)算機(jī)學(xué)報(bào),2002

?凸多邊形窗口線裁剪的新算法:中國圖象圖形學(xué)報(bào)2003

?一種快速的圓形窗口線裁剪算法.計(jì)算機(jī)工程與應(yīng)用2004

?基于掃描帶的任意多邊形窗口線裁剪算法工程圖學(xué)學(xué)報(bào)2005

?一種基于坐標(biāo)變換的圓形窗口線裁剪算法.計(jì)算機(jī)應(yīng)用與軟件2006

?基于凸剖分的多邊形窗口線裁剪算法.CAD與圖形學(xué)學(xué)報(bào)2007

多邊形的裁剪

?多邊形的各條邊分別使用“線條裁剪”方法

-產(chǎn)生不閉合區(qū)域

?分別用窗口的4邊對多邊形進(jìn)行裁剪

-需重新組織每個窗口邊界上的多

邊形頂點(diǎn)序列

假定邊界處理順序:左,右,下,上

Suther1and-Hodgeman算法

?窗口四邊分別對多邊形各邊進(jìn)行裁剪

?多邊形L邊被窗口WL邊界裁剪,

頂點(diǎn)的修改方法:

-舍棄L

?L兩端均在WL外

-保留終點(diǎn)

?L兩端均在WL內(nèi)

?L從WL內(nèi)伸向外(交點(diǎn)為新終點(diǎn))

-起點(diǎn)改變,則保留新起點(diǎn)和終點(diǎn)

?L從WL外伸向內(nèi)(交點(diǎn)為新起點(diǎn))

B

左裁男右裁剪下裁剪上裁剪

A9BAfB

BTCB94B94

CTA5fA4玲5495

5965f65f6

B6916少1

1玲B192

B94394

4f5

Suther1and-Hodgeman算法

?凹多邊形裁剪后有多余邊

Weiler-Atherton算法

?適用于任意多邊形窗口裁剪任意多邊形,

-不會產(chǎn)生多余邊

逆時針方向處理多邊形:

(1)多邊形的邊L由內(nèi)到外穿越窗口邊界時:

逆時針沿窗口邊界搜索下一個交點(diǎn)

(2)由外到內(nèi)穿越時,

逆時針沿多邊形邊界搜索下一個交點(diǎn)

-A:重復(fù)(1)(2)步直到產(chǎn)生一個回路。

-B:回到上次A的起始交點(diǎn),繼續(xù)對多邊形的其它邊進(jìn)

行A步驟。

Weiler-Atherton算法

Weiler-Atherton算法

?逆時針(順時針)維護(hù)多

邊形/裁剪窗口頂點(diǎn)序列

?內(nèi)-外測試:頂點(diǎn)是否在

對方范圍內(nèi)

Clippin。、、

Window

曲線的裁剪

?圓

-和圓的包圍盒測試

-4分或8分象限的包圍盒測試

-窗口邊界和圓求交得到圓弧

?其它曲線

-包圍盒測試

-求交____________________I

BeforeClipping

?邊掃描轉(zhuǎn)換邊裁剪

-逐個象素判斷是否在裁剪窗口內(nèi)

AfterClipping

文字的裁剪

STRING2

NGI

KRING3

STRING4

STRING1

裁剪前裁剪后

三維空間的觀察過程

?與三維觀察有關(guān)的若干概念

?三維觀察流水線

?三維觀察坐標(biāo)系及其轉(zhuǎn)換

三維觀察相關(guān)概念

?對象指定位置視圖投影到顯示設(shè)備

?投影(3Dto2D):平行投影、透視投影圖

?深度關(guān)系(可見線、面的標(biāo)識)圖

-線:近亮、遠(yuǎn)暗/不顯示/虛線顯示/不同顏色顯示

-面:屏幕象素僅包含前向面的顏色

?對象表面特征視圖

?面繪制:光照、透明/光滑性、紋理圖

?內(nèi)部組成或剖面

?拆散藥剖切顯示圖

?立體顯示

?左、右視圖(立體眼鏡).

X.

三維觀察流水線

?指定觀察參數(shù)以及投影類型包含深度信息的二維

?投影變換(獲得:2D+z)

?規(guī)范化觀察體ViewVolume

?裁剪

?視口變換

?可見性判斷、表面繪制等

三維觀察坐標(biāo)系

在三維世界坐標(biāo)系中:

指定觀察參考點(diǎn)P

指定觀察平面法向量N(z軸)

指定和調(diào)整觀察向上向量V(y軸)

計(jì)算出向量U(x軸)

由此,獲得uvn觀察坐標(biāo)參考系統(tǒng)

—站在P點(diǎn),沿著N(-N)方向看,在UV平面上'看'到的內(nèi)容

三維觀察變換(世界-〉觀察坐標(biāo)系)

復(fù)合變換P=R?T?P

三維觀察效果

-固定觀察點(diǎn)P,改變N的方向

-固定N的方向,改變觀察點(diǎn)P位置

問題:如何在輸出設(shè)備上獲得這些效果?

核心:三維模型向觀察平面投影!

(投影平而)

投影

?如何將三維場景顯示在二維的設(shè)備上

?投影的分類

?各類投影相應(yīng)的觀察體

?實(shí)現(xiàn)各類投影的幾何變換方法

投影的分類

?從三維物體上某點(diǎn)P引出的一條射線(投影線)

與觀察平面的交點(diǎn),即為P的投影點(diǎn)。

?分類L正平行投影;正投影

正軸測投影、

廠平行投影

j等軸測投影

斜平行投影{US

一點(diǎn)透視投影

透視投影H二點(diǎn)透視投影

三點(diǎn)透視投影

投影示意簡圖

View

Plane

Convergence

Point

平行投影透視投影

投影線相互平行投影線會聚到一點(diǎn):“投影中心”

Hnz桿班“投影線相互平行&

止十1J儀彩投影線與觀察平面垂直

(正,正軸測,等軸測)

?正投影:觀察平面垂直于世界坐標(biāo)系下某一坐標(biāo)軸

PlanView

-平行性不變

-尺寸比例不變

-三維結(jié)構(gòu).正投影>三視圖

重建

'—*--------

一、一、一一__,

SideElevationView

FrontElevationView

正軸測投影

?正軸測:

-觀察平面不垂直于任一坐標(biāo)軸

-線的平行性不變

-包括正等測(等軸測)、正二測、正三測

?等軸測:觀察平面和三根坐標(biāo)軸交點(diǎn)離

原點(diǎn)的距離相等([a|二|b|二|c|八種)

正軸測投影示意圖

為紫色平面

建立一個原

點(diǎn)和世界坐

標(biāo)系原點(diǎn)重

育的觀察坐

標(biāo)系

㈤觀察坐標(biāo)系與世界坐標(biāo)系重合(b)旋轉(zhuǎn)變換后的坐標(biāo)系的位置關(guān)系

正軸測投彩示意圖

立方體的正等軸測投置圖立方體的正二軸測投登圖立方體的正三軸測投影圖

正投影的觀察體定義及其規(guī)范化

對于觀察平面平行于xy平面的正投影:

?xp=x,yp=y,zp=z(所有投影變換均需保留z為可見性測試使用)

?選擇二維裁剪窗口:位于觀察平面上

正投影的觀察體定義及整闞

1""max,:far)|

?左手系

-與通常的屏幕坐標(biāo)系吻合

-觀察方向?yàn)檎齔norm軸方向

-可以將觀察方向的正距離解釋為離屏幕(觀察平面)的距離

?Znorm值越大,表示離觀察平面越遠(yuǎn)

回顧:二維裁剪窗口到規(guī)Mwindow,nom'iviewp

范化視口的復(fù)合變換矩陣fSF

10?XWmE

平移01-yWmin

001

2

Sx00sx=-------------------

XW-.VU'i

縮放maxmn

s=0Sy0

2

001Sy=

J/^max—[/"'min

10-1

平移T2=01-1

001

Ynorm

window,nonnviewp

7'"'max+.VU'min

0

XU'max-Xa,mmXU\nax-X〃h】in

2J/^?max+yw?niin

;normsquare一0

—[Wminl/ll?max—J/U'min

001

r2AU'frjax+.VU'min"

00

w

■^*'max—X〔〃minAU'max—A*U'min

7yw,niax+J/W'niui

00

Mortho,norm=J/W'max—[/加max—yw'min

.0001.

投影線相互平行&

斜平行投影投影線與觀察平面不垂直

ViewPlane

1??L=(x,y,z)^(xp,yp,z)

ViewH=x軸正向

Plane

0為L逆時針與H的夾角

Xp=A-+Lcos0z-z_;4夕-z必=x+Li(z,.P—z)cos0

[=>tarpna=—kL=----

%=y+Lsin</>Ltana

yp=y+Li(Zw-2)sin0

(L]=cota)a=Q(T時為正投影

View

Plane

斜等測、斜二測

?斜等測投影

-投影平面與某一坐標(biāo)軸垂直

-tana=1a=45°(|)二任意

特點(diǎn):與投影平面垂直的線投影后長度不變

?斜二測投影

-投影平面與某一坐標(biāo)軸垂直

-tana=2a=63.4°(|)二任意

特點(diǎn):該軸軸向變形系數(shù)為1/2

tana=2(|)=45

斜二測投影示意圖

(a)(b)

斜等測投影示意圖

(b)

斜平行投影的觀察體定義及其規(guī)范化

對于觀察平面平行于xy平面的斜平行投影:

■定義斜平行投影向量:獲得投影變換矩陣

?選擇二維裁剪窗口:位于觀察平面上

?指定近一遠(yuǎn)裁剪平面:獲得斜平行管道觀察體

■進(jìn)行投影變換:獲得與正投影相同的矩形管道觀察體

?觀察悻的規(guī)范化變換。(同正投影)

斜平行投影向量

斜平行投影變換矩陣

"ioVpx-5-

1°%F

工P=1+(二1甲—二)^~

Upz

n1Vpy~Vpy

^oblique=1

%=y+&pT)?0_艱z”

0010

,0001.

參考z=Zvp平面的關(guān)于z軸的錯切

1000

正投影變換矩陣

M,ort=0100

就是單位矩陣

0010

單位投影向量0001

(0,0,1)

斜平行投影觀察體

FarPlane

vp

斜平行投影觀察體的變換

(linpini'Window(lippingWindow

(b)

Ohliquc-Projection'Iransformed

ViewVolumeOblique

ViewVolunu;

規(guī)范化

(同正投影)

任意平行投影的變換過程

(1)坐標(biāo)系變換:世界坐標(biāo)系經(jīng)變換,與觀察

坐標(biāo)系(右手或左手系)重合

此時:投影平面變?yōu)閆=o(XY平面)

(2)錯切:M°biique使斜平行投影變成正投影

(3)規(guī)范化(平移,縮放):Morthonorm

透視投影

投影參考點(diǎn)

(投影中心)

View

Plane

?透視投影的特點(diǎn):

-“近大遠(yuǎn)小”:線段投影縮小程度與投影平面位置的關(guān)系

-平行于投影平面的平行線段組,投影后仍平行。

-不平行于投影平面的平行線段組,投影后會聚。

?投影中心無限遠(yuǎn)離投影平面時,即等同于平行投影

透視投影分類(滅點(diǎn)Vanishingpoint)

?每組平行線條的會聚點(diǎn)稱為一個“滅點(diǎn)”

?主滅點(diǎn):這組平行線條平行于某個坐標(biāo)軸

-一點(diǎn)透視:投影平面只與一個坐標(biāo)軸相交

-二點(diǎn)透視:與二個

-三點(diǎn)透視:與三個

透視投影的觀察體定義及其規(guī)范化

對于觀察平面平行于xy平面的透視投影:

?定義投影中心

?定義觀察體

-選擇觀察體類型并獲得相應(yīng)的投影變換矩陣

-選擇二維裁剪窗口:位于觀察平面上

-指定近一遠(yuǎn)裁剪平面

■選冬投影變換:獲得矩形管道觀察體

?雙蔡悔的規(guī)范化變換。

z)|

C7,

ViewPlane

約定1:投影平面平行于xy

平面(只與z軸相交),且

其法向量平行于Z軸正向。

思考:經(jīng)過透視投影后任意點(diǎn)P的z坐標(biāo)都變換成ZvvpH了嗎?

透視投影變換

【注意:】

?ZpmwZ(投影平面上的

對蒙點(diǎn)無需投影)

?每個對象點(diǎn)的h值均不同,

是z的線性函數(shù)

【思考:】

=X(Zpry一二叩)+Xprp(二up一二)

?Zp是什么?

}/h—y仁prp—Z叩)+%邛(二vp一二)

透視投影變換矩陣

X二

Xh二prp一二up0-~prpXprp二”px1(t,y,1)

yh0二prp一二叩~lfprpVprfZp丫

V7Mpers

Zh00Sz亡工

(電,物,馬」1)

h

_00-1二P。,JL/h

Ph=Mpers,P(Xp,yp,zp1)

?Zh=szz+tz

?zp=Zh/h

?因此,ZpWZvp而是對Z進(jìn)行規(guī)范化!代表了真正深度信息!

?矩陣元素Sz和tz用于實(shí)現(xiàn)Z坐標(biāo)規(guī)范化,其取值依賴于:

-觀察體的形狀、位置、尺寸

-規(guī)范化目標(biāo)的大?。?0,1)還是(?1,1)

透視投影觀察體

?視覺棱錐體(類似于人眼的視覺圓錐體)

、、

?棱臺:

-裁剪窗口:位于投影平面上

-近裁剪平面:去除大對象

-遠(yuǎn)裁剪平面:去除小對象

約定2:裁剪平面在

投影中心和觀察對象

之間。

約定3:近裁剪平面

在投影中心和遠(yuǎn)裁剪

棱臺觀察體平面之間。

透視投影觀察體的種類

對稱透視投影棱臺?斜透視投影棱臺

投影中心到裁剪窗口

中心的連線垂直于投

影平面

對稱棱臺觀察體

?定義方法:

FrustumCenterline

對稱棱臺觀察體

height/2

從而計(jì)算出Zvp

對稱透視觀察體的變換示意圖

Centerline

斜棱臺觀察體

XlTmin+W'max

約定:投影中心為原點(diǎn),roi2

0yw,min+

投影平面就是近裁剪平一—Mzshear?

-near

面1*near

AZ

10shzx0

運(yùn)裁剪面

XWmin01sh0

Mzshear=2y

yWmin*yWmax0010

Znear"_0001_

XWmax/經(jīng)過錯切

.Vlt'min+“Wmax

yWmin~yWmax微影中心后,xy坐

X2二3

ZnearJ(0,0,0)標(biāo)變化,

J/"'min+[Wmax

z不變7,

-—near

斜棱臺錯切成對稱棱臺示意圖

約定前提下的斜對稱透視變換

-prp-4卬0~xprp■prpN叩一二near000

0

三prp一二up-yprpl/prpZVp0一二near00

Mpers=Mp^rs=

00Sztz00tz

.00-1Z

prp-00-10

+-1"'max

00

-near2

注意:不符合約定前提yw'min+J/W,max

00

時,可能需進(jìn)行更多的-near7

變換如平移等,相應(yīng)錯00t

切參數(shù)也需重新計(jì)算。z

000

透視變換的含義

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論