版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ECUST
計(jì)算機(jī)■移孽基磁
華東理工人學(xué)必算機(jī)祭?謝屹玲
第力*二箱曖換及二瓶機(jī)塞
□如何對(duì)二維圖形進(jìn)行方向、尺寸和形狀方面的
變換。
□如何進(jìn)行二維觀察。
2
二瓶變換及二橫機(jī)察
□基本幾何變換與基本概念
口二維圖形幾何變換的計(jì)算
口復(fù)合變換
口變換的性質(zhì)
3
6.2基4幾何麥換
□圖形的幾何變換
■平移、旋轉(zhuǎn)、縮放、反射和錯(cuò)切
■變換的組合
□圖形幾何變換的目的
改變圖形的位置、方向、大小
□基本幾何變換
都是相對(duì)于坐標(biāo)原點(diǎn)和坐標(biāo)軸進(jìn)行的幾何變換。
4
6-2齊次全標(biāo)
口齊次坐標(biāo)
將一個(gè)原本是〃維的向量用一個(gè)〃+i維向量來(lái)表示。
■例如:向量(再,巧,…,司)的齊次坐標(biāo)表示為(〃片,
例,…,Hxn,由,其中跟一個(gè)不為。的實(shí)數(shù)。
■省1的齊次坐標(biāo)稱(chēng)為規(guī)范化齊次坐標(biāo);
■反之:由點(diǎn)或向量的齊次坐標(biāo)(〃入1,〃巧,…,Hxn,
⑼,求它的規(guī)范化齊次坐標(biāo),可根據(jù)如下公式求得
〔=例Hx[H
x/H,???xn=
□齊次坐標(biāo)表示法的優(yōu)點(diǎn)
■修平移、旋轉(zhuǎn)、縮放等變換同統(tǒng)一的方式表示
基洋幾何曖族----規(guī)范化齊次坐標(biāo)
口齊次坐標(biāo)表示就是用n+1維向量表示一個(gè)n維向量。
口規(guī)范化齊次坐標(biāo)表示就是h=l的齊次坐標(biāo)表示。
(X,V)U(X,V,1)
6
7.2二瓶幾何變換的齊決坐標(biāo)表東
口恒等變換
平面圖形的恒等變換保持原圖形的大小、形狀
、位置不變,其變換矩陣為:
1oo
心。=|010
001
基洋幾何變換——平移變換
□平移是指將P點(diǎn)沿直線路徑從一個(gè)坐標(biāo)位置移
到另一個(gè)坐標(biāo)位置的重定位過(guò)程。
x'=x+7
x
圖6-1平移變換
8
基洋幾何變換——平移變換
-100
設(shè):P'=[/y,l]=[xy1]010
TxTy1
令:T(&7p=[1001
010
工Ty1
記:P'=P*T(&Q
&4稱(chēng)為平移矢量。
基洋幾何變換----比例變換
□比例變換是指對(duì)p點(diǎn)相對(duì)于坐標(biāo)原點(diǎn)沿X方向放
縮5x倍,沿y方向放縮5y倍o其中5乂和Sy稱(chēng)為
比例系數(shù)。%'=S,-X
V=s-
圖6-2比例變換(Sx=2,Sy=3)
10
基洋幾何變換----比例變換
矩陣形式:「S.00
設(shè):P'=[/y,1]=[xy1]0Sy0
_001.
令:s(鼠與)=]&oo-
0多0
-001-
記:P,=P*S(%5P
S『,歷稱(chēng)為比例系數(shù)。
11
基洋幾何變換----比例變換
(a)Sx=Sy比例(b)Sx<>Sy比例
圖6-3比例變換
基洋幾何變換一叱例變換
整體比例變換:
100
x!y!1]=[xy1]?010
005
當(dāng)S>1,圖形整體縮小;當(dāng)S<1,圖形整體放大。
基洋幾何變換——族籍變換
□二維旋轉(zhuǎn)是指圈P點(diǎn)繞坐標(biāo)原點(diǎn)轉(zhuǎn)動(dòng)某個(gè)角度(逆時(shí)
針為正,順時(shí)針為負(fù))得到新的點(diǎn)p'的重定位過(guò)程。
x'=r*cos(a+0)
=r,cose,cosa-r,sin&sina
=x*cos0-y*sin0
y'=resin(a+0)
=r?cos??sina+r?sine?cosoc
=x*sin6+yecos6
圖6-4旋轉(zhuǎn)變換
基洋幾何變換——族籍變換
口矩陣形式:逆時(shí)針旋轉(zhuǎn)e角
cosOsinO1
設(shè):P、=[x'y'l]=[xy1]-sinOcosO0
[001
令:R(。)=cosOsinG1
-sinOcosO0
001
記:P'=P*R(8)
15
基井幾何曖換----二推變換擇陣OF
X
T1=Fab]比例、旋轉(zhuǎn)、對(duì)稱(chēng)、錯(cuò)切等;
cd;_ax+cy+1
T2=[jm]平移X
T3=p]投影px+qy+s
q_bx+dy+m
T4=\S]整體匕匕傷]
基井幾何曖換----對(duì)稱(chēng)變換
□對(duì)稱(chēng)變換后的圖形是原圖形關(guān)于某一軸線或
原點(diǎn)的鏡像。?
A
(a)關(guān)于x軸對(duì)稱(chēng)(c)關(guān)于原點(diǎn)對(duì)稱(chēng)
17
基洋幾何曖族----對(duì)稱(chēng)變換
(d)關(guān)于x=y對(duì)稱(chēng)
18
基4幾何變換—對(duì)繇變換
(1)關(guān)于X軸對(duì)稱(chēng)▲
?P(x,y)
「%Q?9飛-----------?
X
||0)/
?|VC~dxg??P'(x,-y)
[p/曲1j
圖6-6關(guān)于x軸對(duì)稱(chēng)
19
基洋幾何曖族----對(duì)稱(chēng)變換
(2)關(guān)于y軸對(duì)稱(chēng)f
--1oo]P'(-^y)p(*y)
010-----------------------
001
圖6-6關(guān)于y軸對(duì)稱(chēng)
基井幾何曖換----對(duì)稱(chēng)變換OF
(3)關(guān)于原點(diǎn)對(duì)稱(chēng)A
A?P(x,y)
--10ol-----------------x
0-10
001
圖6-6關(guān)于原點(diǎn)對(duì)稱(chēng)
21
基井幾何曖換----對(duì)稱(chēng)變換
(4)關(guān)于y=x軸對(duì)稱(chēng)
「。10]
100
001
圖6-6關(guān)于x=y對(duì)稱(chēng)
基井幾何曖換----對(duì)稱(chēng)變換
(5)關(guān)于丫=-x軸對(duì)稱(chēng)
A
-0-10P(x,y)
-100
P'(%x)\X
001
圖6-6關(guān)于x=-y對(duì)稱(chēng)
23
基井幾何曖換----耐切變換
口錯(cuò)切變換,也稱(chēng)為剪切、錯(cuò)位變換,用于產(chǎn)
生彈性物體的變形處理。
圖6-7錯(cuò)切變換
24
基井幾何曖換----耐切變換
①沿X方向關(guān)于Y軸的錯(cuò)切
矩形P1P2P3P4沿X方向錯(cuò)切變換,得到矩形P1P2P3‘pJ錯(cuò)
切角e,點(diǎn)ix,y)變換為:
x'=x+y*tan(0),y'=y
令:shA.=tan(0)■y*tan(0);
記:_x'y'1_=_xy。100y一1「3的「巴
shY10
-001-
?
?
/
?
----1-z-----------?
Plp2
圖6.7沿X方向錯(cuò)切
基井幾何曖換----耐切變換
②沿Y方向關(guān)于X軸的錯(cuò)切
矩形P1P2P3P4沿丫方向錯(cuò)切變換,得到矩形「逮2,394,錯(cuò)切
角0,點(diǎn)(x,y)變換為:
x'=x,y'=y+x*tan(0)
P\
令:shy=tan(0)
x*tan(O)
記:x,y,L=_xy。1shy0■
77"
010P\
001,4
------V—
,dp2
圖6.7沿Y方向錯(cuò)切
基井幾何曖換----耐切變換
③沿兩個(gè)方向的錯(cuò)切
x'=x+y*tan(a)
y'=y+x*tan(0)
令:shY=taxn(a)、ysh=tan(0)
記:x'y'1=xy11sh0y*tan(a)
_i\—_iyv
----p-
shY10
,p4:巧
-001-a/lP\
圖6.7沿X、Y方向錯(cuò)切
基井幾何曖換----耐切變換
其變換矩陣為:「1b0-
c10
001
(1)沿X方向錯(cuò)切:b=0
(2)沿y方向錯(cuò)切:c=0
(3)兩個(gè)方向錯(cuò)切:bwO,cwO
28
二箍圖形幾何變換的計(jì)算
幾何變換均可表示成P'=P*T的形式。
1.點(diǎn)的變換
abp
x!y!1J=[xy1]?cdq
Imr
29
二箍圖形幾何變換"算
2.直線的變換
abp
/A11「/Pl11|7
=-caq
xiy2L_x2y2L
Imr
30
二箍圖形幾何變換"算
3.多邊形的變換
X11X11
X2%1X2%1abP
X31X3兀1dq
mr
3幾131
31
復(fù)合麥換
□圖形作一次以上的幾何變換,變換結(jié)果是每
次變換矩陣的乘積。
□任何一復(fù)雜的幾何變換都可以看作基本幾何
變換的組合形式。
□復(fù)合變換具有形式:
P,=p.T=P(T/2T3?…T)
=PTfT2T3...Tn(n>l)
32
復(fù)合曖換----二推復(fù)合不移
100100
010010
,工2
Ty2
TX1,1Tx2,1
100
010
T,十+T1
X1x2V2
33
復(fù)合曖換----二推復(fù)合比例
1
Sx1I0o]「Sx200
、?、=*、
Ts=Ts1Ts20s,00sy20
001001
I
sx1?sx2,00
0S-S.0
y1y2
001
34
復(fù)合曖換----二推復(fù)合族挎
Icose[sin910]「cos3?sin320~|
0!?!-sin9cos90!
—sin/cose[
II
001001
rCOS(0x+。2)sin(圻+2)0]
?-sin(2+%)cos(2+2)0?
001
R=R(a)?R?)=R0十%)
35
復(fù)合變換
cos0sin00-)「cos0oonritgeon
R=-sincos00=0cos00--tg010
001J|_001J|_001
itgeoqrcoso0o-
-tg3100cos00
001001
旋轉(zhuǎn)變換等價(jià)于先比例后錯(cuò)切,或者先錯(cuò)切后比例。
36
復(fù)合變換
□矩陣相乘是符合結(jié)合律,但不符合交換律。
A-B-C=(A-B)-C=A"(B-C)
□在連續(xù)的同種變換的特殊情況下,矩陣相乘可以符合
交換律。
1.二次連續(xù)旋轉(zhuǎn),可以用任意順序進(jìn)行;
2.連續(xù)的平移或連續(xù)的比例變換可以交換;
3.兩向相同(Sx=Sy)的比例變換與旋轉(zhuǎn)變換
Ay
可以交換。
相對(duì)低一參考點(diǎn)的二推幾何變換OF
□相對(duì)某個(gè)參考點(diǎn)(XF,F(xiàn))作二維幾何變換,其變
換過(guò)程為:
(1)平移;
(2)針對(duì)原點(diǎn)進(jìn)行二維幾何變換;
(3)反平移。
38
相對(duì)低一參考點(diǎn)的二推幾何變換
則:P'=P?(T(-xA,-yA)?S(sx,sy)*T(xA,yA)}
記:
010000
y0010Sy0
)1-XAVA1-yA(『Sy)1_
2.圍繞任一基準(zhǔn)點(diǎn)的旋轉(zhuǎn)變換
,(11b
A限、R(。)?\I(XA,yQ
A(XA,?)O'\?A—A”
0
AA
則:P'=P-{T(-x,-y)?R(6)-T(X
AAA,yA))
記:R(0)=T(-X,-y)?R(6)?T(x
AAAA,yA)
「?=100cos6sin001oo-
010-singcos00C10
-%YA1
-xAyA1」L001-1L;」
=cos0sin30
-sin3cos00
.JX(1-COS0)+ysin0y(l-cosQ)-xsin0I.
AAAA
相對(duì)值一參考點(diǎn)的二箍率
例工錯(cuò)切變換
矩形片44〃沿X軸、Y軸雙向錯(cuò)切儀
*
設(shè):tan(0)=2,tan((I))二l
100110100111010
010210010二21Q
Q鳥(niǎo)x
111001-1-11211①
--
則P'=-1-1r110一-1-1r
3-11210331
-141211941
34113Y1
相對(duì)低一參考點(diǎn)的二推幾何變換
例2組合變換平面圖形變換舉例
設(shè)△尸3的三個(gè)頂點(diǎn)分別為:
尸1(10,20),
鳥(niǎo)(20,20),
乙(15,30),
它繞點(diǎn)0(5,25)逆時(shí)針?lè)较蛐D(zhuǎn)30。。它的復(fù)合變換
由如下三種變換組成:
(1)平移,使Q移到簿點(diǎn)。,平移常量/=-5,片一
25,平移變換矩陣為:100
4=010
-5-251
相對(duì)低一參考點(diǎn)的二推幾何變換
(1)平移,使Q移到原點(diǎn)。,平移常量/=-5,片-25,平
移變換矩陣為。,平移變換后的2〃3。
100
4=01o
-5-251
相對(duì)低一參考點(diǎn)的二推幾何變換
(2)繞原點(diǎn)逆時(shí)針旋轉(zhuǎn)30
變換后的1/2產(chǎn)3。
cos30°sin3O°
4=-sin3O°cos30°
00
相對(duì)低一參考點(diǎn)的二推幾何變換
(3)最后修。點(diǎn)移回原來(lái)位置。(5,25),平移變換矩陣為
T3,旋轉(zhuǎn)變換后的△尸*1卜2#*3。
100
010
5251
相對(duì)值意方向的二罐幾何要換
□相對(duì)任意方向作二維幾何變換,其變換的過(guò)
程是:
(1)旋轉(zhuǎn)變換,使任意方向與某個(gè)軸重合;
(2)針對(duì)坐標(biāo)軸進(jìn)行二維幾何變換;
(3)反向旋轉(zhuǎn),回到原來(lái)的方向。
46
①I(mǎi):平移(0,-Ty),使L過(guò)坐標(biāo)原點(diǎn),圖形A變換為A1
②Ri:旋轉(zhuǎn)-6,使L與X軸重合,圖形A1變換為A?
③RFx:圖形A2關(guān)于X軸的對(duì)稱(chēng)圖形A3
@R2:旋轉(zhuǎn)e,圖形A3變換為A4
⑤丁2:平移(O,Ty),使L回到原來(lái)的位置,圖形A4變換為A5,
此時(shí),是A關(guān)于L的對(duì)稱(chēng)圖形。
總的變換:L?RFX?R2?T2(7.37)
對(duì)任意直線的對(duì)稱(chēng)變換
設(shè):直線的方程為:ax+by+c=0
則:在X、Y兩軸上的截距分別為-c/a和-c/b;
直線的斜率為tga=-a/b。
⑴讓直線沿X軸方向平移c/a,使其通過(guò)坐標(biāo)系原點(diǎn)。
變換矩陣為:
100
Tl=010
c/a01
⑵讓直線繞坐標(biāo)系原點(diǎn)旋轉(zhuǎn)-a角,
使與X軸重合。變換矩陣為:
cosa-since0
T2=sinacosa0
001
(3)由于原直線已與X軸重合,于是對(duì)于直線的對(duì)稱(chēng)
變換即為對(duì)于X軸的對(duì)稱(chēng)變換。變換矩陣為:
100
T3=0-10
001
(4)繞原點(diǎn)旋轉(zhuǎn)a角,使直線恢復(fù)到原傾斜位置。
變換矩陣為:八
cosasma。
T4=-sinacosa°
001
⑸讓直線沿X軸方向平移/a,使其回到原來(lái)位置。
變換矩陣為:
100
T5=010
-c/a01
綜合以上的五步,對(duì)任意直線的對(duì)稱(chēng)
變換過(guò)程為:
[x*y*1]=[xy1]?T1?T2?T3?T4?T5
=[xy1]*T
組合變換矩陣T為:
'cos2asin2a0
T=sin2a-cos2a0
(c/a)(cos2a-1)(c/a)sin2a1
y
相對(duì)值意方向的二罐幾何要換
□例相對(duì)直線y=x的反射變換
T=cos(-45)sin(-45)0100cos(45)sin(45)0
-sin(-45)cos(-45)00-10-sin(45)c0s(45)0
-00iJLo01
-001
55
復(fù)合變換
例將正方形ABCO各點(diǎn)沿下圖所示的
(0,0)-(1,1)方向進(jìn)行拉伸(比例變換),結(jié)
果為如圖所示的,寫(xiě)出其變換矩陣和變換過(guò)程。
56
可能發(fā)生的變換:沿(0,0)
到(L1)的比例變換
圖6Tl沿固定方向拉伸
oO
rcos(-45)sin(-45)0〕「s00"|rcos45°sin45°ol
IooII-S0!-I-sin45°cos45°0!
T=?-sin(-45)cos(-45)0
°r|y|II
001001001
P'=P?T
坐標(biāo)系之間的變換
問(wèn)題:已知XOY坐標(biāo)系上的P(Xp,yp),求P轉(zhuǎn)換到
坐標(biāo)系上的P,(x1,y')。
圖6-9坐標(biāo)系間的變換
58
坐標(biāo)系之間的變換
分析:
在xoy坐標(biāo)系中有點(diǎn)p*,其y▲
坐標(biāo)與p點(diǎn)在x,o,y,坐標(biāo)系下P.也即p'
y
的坐標(biāo)相等:X
5
op/=opx;*
Opg*Px
OPy*=O'Py;y□e
則P*點(diǎn)的坐標(biāo)是P點(diǎn)變換到P9O'(xo,yo)
點(diǎn)的坐標(biāo)。
o*X
嘰
圖6To坐標(biāo)系間的變換的原理
59
圖6T4坐標(biāo)系間的變換的步驟
于是:
p'-xfyf1-xy1-T
LppPP
-p-T-p-T-T
tR
-100cos0-sin0
T=Tt-Tr=010?sin3cos00
1001
光柵變換
□直接對(duì)幀緩存中象素點(diǎn)進(jìn)行操作的變換稱(chēng)為光
柵變換。
□光柵平移變換:
tsi
,★
(a)讀出象素塊的內(nèi)容(b)復(fù)制象素塊的內(nèi)容(c)擦除原象素塊的內(nèi)容
圖6-12光柵平移變換62
光柵變換
□90°、180°和270。的光柵旋轉(zhuǎn)變換:
(vollen-y,x)
yvo
(r(wlen-x,vollen-y)
^vollen
row1en
(a)逆時(shí)針旋轉(zhuǎn)90°(b)逆時(shí)針旋轉(zhuǎn)180°
①每行像素值顛倒——擦掉;①每行像素次序顛倒;
②交換其行列。②行的次序顛倒。
圖6-13光柵旋轉(zhuǎn)變換63
64
光柵變換
圖6-15光柵比例變換
根據(jù)Sx和Sy的大小,取出對(duì)應(yīng)于變換后圖像中的一個(gè)像素點(diǎn)的原圖
中的相應(yīng)像素區(qū)域,對(duì)其區(qū)域的像素點(diǎn)的亮度加權(quán)平均,得變換后
像素的亮度。
變換的轆質(zhì)
二維仿射變換是具有如下形式的二維坐標(biāo)變換:
x'=ax+by+m
<
y'-ex+dy+n
□平移、比例、旋轉(zhuǎn)、錯(cuò)切和反射等變換均是二
維仿射變換的特例,反過(guò)來(lái),任何常用的二維
仿射變換總可以表示為這五種變換的復(fù)合。
66
變換的轆質(zhì)
口僅包含旋轉(zhuǎn)、平移和反射的仿射變換維持角度
和長(zhǎng)度的不變性;
□比例變換可改變圖形的大小和形狀;
口錯(cuò)切變換引起圖形角度關(guān)系的改變,甚至導(dǎo)致
圖形發(fā)生畸變。
67
二箍理察
□基本概念
□二維觀察變換
□二維裁剪
□OpenGL中的二維觀察
68
二箍理察
□坐標(biāo)系
鼻模坐標(biāo)系(MC,ModelingCoordinateSystem)
用戶坐標(biāo)系(WC,WorldCoordinateSystem)
I直角坐標(biāo)系(又稱(chēng)笛卡爾坐標(biāo)系)
坐標(biāo)系["極坐標(biāo)系
觀察坐標(biāo)系(VC,ViewingCoordinateSystem)
規(guī)范化坐標(biāo)系(NDC,NormalizedCoordinate
System)
設(shè)備坐標(biāo)系(DC,DeviceCoordinateSystem)
二箍理察
□坐標(biāo)系
1.建模坐標(biāo)系(MC,ModelingCoordinates)
依據(jù)物體而建的局部坐標(biāo)系,是直角右手坐
標(biāo)系,長(zhǎng)度單位用戶自定,取值范圍整個(gè)實(shí)數(shù)
域。
2.世界坐標(biāo)系(WC,WorldCoordinates)
又稱(chēng)用戶坐標(biāo)系,場(chǎng)景采用的坐標(biāo)系,是直
角右手坐標(biāo)系,長(zhǎng)度單位用戶自定,取值范圍
整個(gè)實(shí)數(shù)域。
二箍理察
□坐標(biāo)系
3.設(shè)備坐標(biāo)系(DC,DeviceCoordinates)
依設(shè)備而定的坐標(biāo)系,是二維直角坐標(biāo)系,原點(diǎn)和軸
的定義依設(shè)備不同而不同,長(zhǎng)度單位是設(shè)備的步距,取
值范圍有限的整數(shù)。
4.規(guī)格化設(shè)備坐標(biāo)系(NDC,NormalizedDeviceCoordinates)
_一種虛擬的坐標(biāo)系,與具體設(shè)備無(wú)關(guān),其取值范圍在
0一1之間,起到嚼WC與DC聯(lián)系起來(lái)的作用。
用戶的繪圖數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換成NDC中的值,使得圖形有
了統(tǒng)一的設(shè)備空間。這對(duì)圖形的統(tǒng)一處理,帶來(lái)很大的
方便,從而提高圖形程序的可移植性。
二箍理察
□坐標(biāo)系gDC
MC、WC、NDC、DC之間的轉(zhuǎn)換
X
MC
圖二維場(chǎng)景從模型坐標(biāo)系到設(shè)備坐標(biāo)系的變換序列
(Xmc.Ymc)->(Xwc.Ywc)->(Xndc,丫ndc)->(Xdc.Ydc)
二箱理察----基存概念
口窗口
在世界坐標(biāo)系(WC)中,指定或選取一個(gè)矩形區(qū)域(Window)
□視區(qū)
在規(guī)格化設(shè)備坐標(biāo)系(NDC)或設(shè)備坐標(biāo)系(DC)上,指定一
個(gè)矩形區(qū)域(ViewPort),用于顯示窗口內(nèi)的圖形。
口開(kāi)窗口
先將圖形關(guān)于窗口進(jìn)行裁剪,然后將裁剪后的保留在窗口
內(nèi)的圖形,變換成顯示器屏幕上指定視區(qū)內(nèi)的圖形。
開(kāi)窗變換也叫取景變換,它包括裁剪運(yùn)算和窗口到視區(qū)的
變換。
二箱理察----基存概念
(b)屏幕坐標(biāo)系中的視區(qū)
□要將窗口內(nèi)的圖形在視區(qū)中顯示出來(lái),必須經(jīng)過(guò)將窗口到
視區(qū)的變換(Window-ViewportTransformation)處
理,這種變換就是觀察變換(Viewing
Transformation)。
74
圖6-17用戶坐標(biāo)系中旋轉(zhuǎn)的窗口
八
3
Q
N
1
視區(qū)
1xNDC
(a)觀察坐標(biāo)系(b)規(guī)格化設(shè)備坐標(biāo)系
二箱理察----基存概念
□觀察坐標(biāo)系(ViewCoordinate)是依據(jù)窗口的方
向和形狀在用戶坐標(biāo)平面中定義的直角坐標(biāo)系O
□規(guī)格化設(shè)備坐標(biāo)系(NormalizedDevice
Coordinate)也是直角坐標(biāo)系,它是將二維的設(shè)
備坐標(biāo)系規(guī)格化到(0.0,0.0)到(1.0,
1.0)的坐標(biāo)范圍內(nèi)形成的。
76
二箍機(jī)察----基存概念
□引入了觀察坐標(biāo)系和規(guī)格化設(shè)備坐標(biāo)系后,觀
察變換分為如下圖所示的幾個(gè)步驟,通常稱(chēng)為
二維觀察流程。
應(yīng)
用
察
坐
觀窗口到視
程
序用戶坐視圖區(qū)從
系
下
標(biāo)區(qū)(規(guī)范
到
圖標(biāo)系到規(guī)范化坐在圖形
窗
口
VC對(duì)VC化設(shè)備坐NDC
形
的觀察坐標(biāo)系到設(shè)斗設(shè)備上
行
裁
進(jìn)標(biāo)系中定
用
戶標(biāo)系間備坐標(biāo)系輸出
剪義)的變
坐
標(biāo)的變換的變換
圖6-19二維觀察流程
77
二旗機(jī)察----基4就念
□變焦距效果
(b)與窗口對(duì)應(yīng)
的視區(qū)1
(a)原圖及變化的窗口
圖6-20變焦距效果(窗口變、視區(qū)不變)
視區(qū)大小不變,當(dāng)窗口變小,放大顯示;當(dāng)窗口變大,
縮小顯示,則產(chǎn)生焦距(又稱(chēng)變焦)縮放的效果;
78
二旗機(jī)察----基4就念
□整體放縮效果
(b)視區(qū)1
(a)原圖及窗口圖6-21整體放縮效果(窗口不變、視區(qū)變)
口漫游效果
視區(qū)大小不變,窗口大小不變,只改變窗口位置,則產(chǎn)
生搖鏡頭(又稱(chēng)漫游)的效果。
79
用戶生標(biāo)東?!也零坐標(biāo)東的變換
□用戶坐標(biāo)系到觀察坐標(biāo)系的變換分由兩個(gè)變
換步驟合成:
?平移:將觀察坐標(biāo)系原點(diǎn)移動(dòng)到用戶坐標(biāo)
80
用戶生標(biāo)東?!也零坐標(biāo)東的變換
?旋轉(zhuǎn):繞原點(diǎn)旋轉(zhuǎn)使兩坐標(biāo)系重合
/k
旺
Xk
(b)旋轉(zhuǎn)變換
81
用戶生標(biāo)系割視察坐標(biāo)東的麥族
假設(shè)觀察坐標(biāo)系的原點(diǎn)在用戶坐標(biāo)系中的坐
標(biāo)為(Xo,yo),觀察坐標(biāo)系與用戶坐標(biāo)系之間的
夾角為6,則變換矩陣為:
100]「cos0一sin。0
T=T""01o|.|sinQcos60
——歹01001
82
CS
窗口利視成的變換
X
DCS
圖6.23窗口-視區(qū)變換示意圖
觀察窗口左下角(xW[,yWb),右上角(xw〃ywt)。
視區(qū)左下角(Xv[,yvb),右上角(Xvr'vt)。
窗口制祝成的變換
要求畫(huà)面相對(duì)比例保持不變。
窗口內(nèi)點(diǎn)&亞,yw)映射到視區(qū)(xv,yv),應(yīng)滿足:
('川一'wmi,/('wmax~^wmin^——XymiP/(Xymax~^vmin^
(YJ~/(ywmax一ywfl4n)-(Vy—yvmiP
窗口割視成的變換
[('vmax—Xymin)^wmax一'wmiP1*-^wmin^X-
Xvvmin
yv—I-vmaxvmin^^wmax一丫亞暄11)】*ywmiPDvinin
簡(jiǎn)化:Xv=A-xw+B
Yv=C-yw+D
其中.卜一('vmax—Xynii,^wmax~^wmin^
B-Xvmin一xwnun"A
ywiniJ
C=(Yvmax-yvmin)/^wmax
DorninYwmin式
窗口割視成的變換
□將窗口內(nèi)的點(diǎn)(Xw,。)映射到相對(duì)應(yīng)的視區(qū)內(nèi)的點(diǎn)
(xv/yv)需進(jìn)行以下步驟:
(1)4號(hào)窗口左下角點(diǎn)移至用戶系統(tǒng)系的坐標(biāo)原點(diǎn),平移矢量
為(-Xwl,-Ywb),
(2)針對(duì)原點(diǎn)進(jìn)行比例變換,使窗口大小與視區(qū)相等,比例
因子為:Sx二(又丫L乂丫“色加-乂喇)
s
y=(yvt-yvb)/(ywt-ywb)
(3)進(jìn)行反平移,使窗口與視區(qū)重合,平移矢量為(-Xvi.-
Yvb)0
86
窗口割視成的變換
窗口到視區(qū)的變換:
N=T
wc->DCi(-xwh-ywb)?S(Sx.Sy)?T2(-xvh-yvb)
=A0O-
0C0
/這里:A、C稱(chēng)為比例因子,
_BD1.B、D稱(chēng)為平移因子
其中:A二(x-x|)/(x-x|)
vrvwrw/當(dāng)A=C,窗口到視區(qū)的映射,
可以保持在X、Y兩方向有相
c=(yvt-yvb)/(ywt-Ywb)同的比例;
/當(dāng)則保持圖形變換
D二yvb-ywbcA=C=1,
前后大小保持不變。
口在二維觀察中,需要在觀察坐標(biāo)系下對(duì)窗口進(jìn)行
裁剪,即只保留窗口內(nèi)的那部分圖形,去掉窗口
外的圖形。
口假設(shè)窗口是標(biāo)準(zhǔn)矩形,即邊與坐標(biāo)軸平行的矩形,
由上(yMWyt)、下(y=Wyb)、左(x=Wxi)、
右(X=Wxr)四條邊描述。
□點(diǎn)(X,y)在窗口內(nèi),則滿足:Wx)<X<Wxr、
wyb<y<wyto
88
二旗直核段的栽噌
已知條件:
(1)窗口邊界wxl,wxr,wyb,wyt的坐標(biāo)值;
(2)直線段端點(diǎn)pip2的坐標(biāo)值、1,1,々,丫2。
圖6.24直線段與窗口的3種關(guān)系89
Pz
X
圖6.25直線段與窗口邊界的2種交點(diǎn)
□實(shí)交點(diǎn):直線段與窗口矩形邊界的交點(diǎn);
口虛交點(diǎn):處于直線段延長(zhǎng)線或窗口邊界延長(zhǎng)線上
的交點(diǎn)。
□直線裁剪的基本原理
1.首先確定哪些直線全部保留或全部裁剪;
2.對(duì)于部分裁剪的直線,應(yīng)求出直線與窗口邊界的
交占-
八、、)
3.把從交點(diǎn)開(kāi)始到邊界外的部分裁剪掉。
□常用裁剪算法
1.Cohen-Sutherland裁剪算法(又稱(chēng)編碼裁剪算法)
2.中點(diǎn)分割算法
3匚參數(shù)化算法(Liang-Barsky算法)
91
Cohen-Sutherland算收
□基本思想
對(duì)于每條線段P1P2分為三種情況處理分為三種情況
處理:
1.若PR2完全在窗口內(nèi),則顯示該線段P』2簡(jiǎn)稱(chēng)“取
”之。
2.若PR2明顯在窗口外,則丟棄該線段,簡(jiǎn)稱(chēng)“棄
力之。
3,若線段不滿足“取”或“棄”的條件,則在交點(diǎn)
處把線段分為兩段。其中一段完全在窗口外,可棄
之。然后對(duì)另一段重復(fù)上述處理。
Cohen-Sutherland算收
□編碼
對(duì)于任一端點(diǎn)(x,y),根據(jù)其坐標(biāo)所在的區(qū)域,
賦予一個(gè)4位的二進(jìn)制碼D3D2DQ0。
3210
編碼規(guī)則如下:
(1)D0=l,否則Do=O;
(2)若x>wxr,D]=l,否則D]=0;
若y〈wyb,D2=l,否則口2=0;
(4)若y>wyt,D3=l,否則口3=0。
wxlwxr
320
1010
0010
0110
Cohen-Sutherland算收
(1)判斷
裁剪一條線段時(shí),先求出直線段端點(diǎn)火和Pz的編
碼codel和code2,然后:
①若codel|code2=0,表明pi和p2區(qū)域碼都為0000,
Pi和P2完全在窗口內(nèi),則對(duì)直線段簡(jiǎn)取之;
②若codel&code2wO,表明p1和p2區(qū)域碼至少在某
一位上同為1,Pi和P2完全在窗口外,則對(duì)直線段簡(jiǎn)
棄之;
95
Cohen-Sutherland算收
(2)求交
若上述判斷條件不成立,則需求出直線段與窗口
邊界的交點(diǎn)。
通常檢測(cè)PL如果P1在窗口外,則從低到高的順
序檢測(cè)P1的編碼CODEL根據(jù)值為1的編碼位確定
與P1P2求交的窗口邊界,按左右上下邊界情況求出
交點(diǎn)代替pL用新的P1P2重新計(jì)算;如果P1在窗口
內(nèi)(即編碼為全0),貝I將P1和P2交換,繼續(xù)求交。
96
Cohen-Sutherland算收
(2)求交
設(shè):已知一條端點(diǎn)為(xl,yl)和(x2,y2)的直線:
①左邊界(X=XW|)>右邊界(x=xwr)交點(diǎn)的計(jì)算:
y=yl+k(x-xl);
②上邊界(y=ywb)>下邊界(丫=丫比)交點(diǎn)的計(jì)算:
x=xl+(y-yl)/k;
其中,k=(y2-yl)/(x2-xl)o
97
Cohen-Sutherland算收
□計(jì)算線段Pl(xl,yl)P2(x2,口)與窗口邊界的交點(diǎn),其區(qū)域
碼分別為codel和code2。
if(codel!=0)code=codel;elsecode=code2;
if(LEFT&code!=0)
{x=XL;y=yl+(y2-yl)*(XL-xl)/(x2-xl);}
elseif(RIGHT&code!=0)
{x=XR;y=yl+(y2-yl)*(XR-xl)/(x2-xl);}
elseif(BOTTOM&code!=0)
{y=YB;x=xl+(x2-xl)*(YB-yl)/(y2-yl);}
elseif(TOP&code!=0)
{y=YT;x=xl+(x2-xl)*(YT-yl)/(y2-yl);)
這里:LEFT=000KRIGHT=0010.BOTTOM=0100.TOP=1000
Cohen-Sutherland算收
Cohen-Sutherland算收
□用編碼方法實(shí)現(xiàn)了對(duì)完全可見(jiàn)和不可見(jiàn)直線
段的快速接受和拒絕;
□求交過(guò)程復(fù)雜,有冗余計(jì)算,并且包含浮點(diǎn)
運(yùn)算,不利于硬件實(shí)現(xiàn)。
100
中點(diǎn)臺(tái)制算位
□中點(diǎn)分割算法的
核心思想是通過(guò)
二分逼近來(lái)確定
直線段與窗口的
交占八、、。
101
中豆今制算該
口基本思想
是Cohen-Sutherland算法的改進(jìn),為了避免使用乘除法求
直線段與窗口邊界的交點(diǎn),用不斷對(duì)分線段的方法排斥線段
在窗口外的部分,最后求出離線段端點(diǎn)最遠(yuǎn)的可見(jiàn)點(diǎn)(所謂可
見(jiàn)點(diǎn)就是線段落在窗口內(nèi)的點(diǎn)),若這兩點(diǎn)存在,則這兩點(diǎn)就
是線段PiP2的可見(jiàn)線段端點(diǎn)。出口圖:A、B分另U為笈巨pi、p2最
近的可見(jiàn)點(diǎn),Pg為P〃2中點(diǎn)。
中點(diǎn)臺(tái)制算位
首先對(duì)線段端點(diǎn)進(jìn)行編碼,并把線
段與窗口的關(guān)系分為三種情況:
①線段PR2全在窗口內(nèi),保留;
②線段PR2完全在窗口外,不保留;
③線段和窗口有交,用中點(diǎn)分割的
方法求出線段與窗口的交點(diǎn)。
■用中點(diǎn)分割的方法
將線段等分為二段,作①、②、
③處理。直至每條線段要么完全在
窗口內(nèi),要么完全在窗口外為止。
求從々出發(fā)尋找最遠(yuǎn)的可見(jiàn)點(diǎn)的步驟:
設(shè):線段的端點(diǎn)在窗口內(nèi)稱(chēng)為可見(jiàn)點(diǎn),其區(qū)域碼為
0000。
(1)測(cè)試2是否在窗口內(nèi)。若是,則22就是離々最遠(yuǎn)的
可見(jiàn)點(diǎn),結(jié)束;否則,進(jìn)行下一步。
(2)對(duì)夕1、片的區(qū)域碼作邏輯與,若結(jié)果不為0,表明
P、、片是在窗外同側(cè),線段乙4全部不可見(jiàn),棄之,結(jié)
束;否則,進(jìn)行下一步。
(3)取尸14的中點(diǎn)4((XI+X2)/2,(yi+yP/2),若《可見(jiàn),
則以代替尸1,重復(fù)步驟(3);若乙不可見(jiàn),則需要判斷乙和
尸2的關(guān)系:
?如果乙和鳥(niǎo)在窗口的同側(cè)外面(即月〃、尸2的區(qū)域碼邏
輯與不為0),則4代替尸2,重復(fù)步驟(3);
?如果乙和鳥(niǎo)不在窗口的同側(cè)外面(即以、鳥(niǎo)的區(qū)域碼
邏輯與為0),則4代替尸],重復(fù)步驟(3);
(4)一直
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公司與員工租車(chē)及費(fèi)用結(jié)算協(xié)議3篇
- 二零二五年度企業(yè)勞動(dòng)合同解除與離職員工經(jīng)濟(jì)補(bǔ)償及就業(yè)權(quán)益維護(hù)協(xié)議3篇
- 二零二五年度公園水泥路施工與歷史文化保護(hù)合同3篇
- 二零二五年度公寓租賃糾紛調(diào)解服務(wù)合同樣本3篇
- 2025年度農(nóng)產(chǎn)品種植收購(gòu)與冷鏈物流服務(wù)合同3篇
- 二零二五年度內(nèi)墻乳膠漆涂料行業(yè)市場(chǎng)分析合同3篇
- 2025年度籃球運(yùn)動(dòng)員轉(zhuǎn)會(huì)合同糾紛解決協(xié)議3篇
- 二零二五年度家庭月嫂服務(wù)及培訓(xùn)合同3篇
- 二零二五年度光伏發(fā)電系統(tǒng)安裝合同安裝協(xié)議3篇
- 2025年度度假酒店整體資產(chǎn)及運(yùn)營(yíng)權(quán)轉(zhuǎn)讓合同3篇
- 2024年安防監(jiān)控系統(tǒng)技術(shù)標(biāo)準(zhǔn)與規(guī)范
- 軟件正版化概念培訓(xùn)
- 2024-2025學(xué)年人教版道法八年級(jí)上冊(cè) 第一學(xué)期期末測(cè)試卷01
- 運(yùn)輸公司安全生產(chǎn)隱患排查制度
- 譯林新版(2024)七年級(jí)英語(yǔ)上冊(cè)Unit 5 Reading課件
- 爆破設(shè)計(jì)說(shuō)明書(shū)(修改)
- 2025屆天津市南開(kāi)區(qū)南開(kāi)中學(xué)語(yǔ)文高三上期末達(dá)標(biāo)檢測(cè)試題含解析
- 期末試卷(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 光伏電站運(yùn)維詳細(xì)版手冊(cè)
- 藝術(shù)學(xué)概論第一章-彭吉象
- 51job在線測(cè)評(píng)題集
評(píng)論
0/150
提交評(píng)論