Giáo trình Đồ họa máy tính - Chương 3, Phần 1: Các phép biến đổi trong đồ họa hai chiều

CHÖÔNG 3  
CAÙC PHEÙP BIEÁN ÑOÅI TRONG ÑOÀ HOÏA HAI CHIEÀU  
Moät trong nhöõng öu ñieåm quan troïng cuûa ñoà hoïa laø cho pheùp deã daøng thao  
taùc leân caùc ñoái töôïng ñaõ ñöôïc taïo ra. Moät nhaø quaûn lí coù nhu caàu thu nhoû  
caùc bieåu ñoà trong moät baùo caùo, moät kieán truùc sö muoán nhìn toøa nhaø ôû  
nhöõng goùc nhìn khaùc nhau, moät nhaø thieát keá muoán quan saùt vaø chænh söûa  
caùc maãu ñoái töôïng trong quaù trình thieát keá, … Taát caû caùc thao taùc naøy coù  
theå ñöôïc hoã trôï moät caùch deã daøng nhôø vaøo caùc pheùp bieán ñoåi hình hoïc.  
Caùc pheùp bieán ñoåi hình hoïc seõ laøm thay ñoåi moâ taû veà toïa ñoä cuûa caùc ñoái  
töôïng, töø ñoù laøm cho ñoái töôïng bò thay ñoåi veà höôùng, kích thöôùc vaø hình  
daïng. Caùc pheùp bieán ñoåi hình hoïc cô sôû bao goàm : tònh tieán (translation), quay  
(rotation) vaø bieán ñoåi tæ leä (scaling). Ngoaøi ra moät soá pheùp bieán ñoåi khaùc  
cuõng thöôøng ñöôïc aùp duïng ñoù laø pheùp ñoái xöùng (reflection) vaø bieán daïng  
(shearing).  
Coù hai quan ñieåm veà pheùp bieán ñoåi hình hoïc ñoù laø : bieán ñoåi ñoái töôïng  
(object transformation) vaø bieán ñoåi heä toïa ñoä (coordinate transformation). Bieán  
ñoåi ñoái töôïng laø thay ñoåi toïa ñoä cuûa caùc ñieåm moâ taû noù theo moät quy taéc  
naøo ñoù, coøn bieán ñoåi heä toïa ñoä laø taïo ra moät heä toïa ñoä môùi vaø taát caû  
caùc ñieåm moâ taû ñoái töôïng seõ ñöôïc chuyeån veà heä toïa ñoä môùi. Hai caùch  
naøy coù nhöõng moái lieân heä chaët cheõ vôùi nhau vaø moãi caùch ñeàu coù nhöõng  
lôïi theá rieâng. Chuùng ta seõ baøn veà pheùp bieán ñoåi ñoái töôïng tröôùc.  
1. CAÙC PHEÙP BIEÁN ÑOÅI HÌNH HOÏC CÔ SÔÛ  
Moät pheùp bieán ñoåi hai chieàu seõ bieán ñoåi ñieåm P trong maët phaúng thaønh  
ñieåm coù toïa ñoä môùi Q theo moät quy luaät naøo ñoù. Veà maët baûn chaát, moät  
pheùp bieán ñoåi ñieåm laø moät aùnh xaï T ñöôïc ñònh nghóa :  
T : R2 R2  
P
x, y  
Q  
x', y'  
Noùi caùch khaùc, T laø haøm soá T  
x, y  
theo hai bieán  
x, y :  
x'f  
y'g  
x, y  
x, y  
Pheùp bieán ñoåi affine laø pheùp bieán ñoåi vôùi f  
x, y  
vaø  
g
x, y laø caùc haøm tuyeán tính.  
Pheùp bieán ñoåi naøy coù daïng :  
x'ax cy e  
y'bx dy f  
,a,b,c,d,e, f R,ad bc 0.  
Ta chæ khaûo saùt caùc pheùp bieán ñoåi affine neân töø nay veà sau ta duøng cuïm töø  
"pheùp bieán ñoåi" thay cho "pheùp bieán ñoåi affine".  
1.1. Pheùp tònh tieán  
Ñeå tònh tieán moät ñieåm P  
theâm caùc giaù trò moâ taû ñoä dôøi vaøo caùc toïa ñoä cuûa P. Neáu goïi trx vaø try laàn löôït laø ñoä dôøi  
theo truïc hoaønh vaø truïc tung thì toïa ñoä cuûa ñieåm môùi Q x', y' seõ laø :  
x, y töø vò trí naøy sang vò trí khaùc trong maët phaúng, ta coäng  
x'x tr  
y'y try  
x
,
trx ,try  
coøn ñöôïc goïi laø vector tònh tieán hay vector ñoä dôøi.  
Chuùng ta coù theå dòch chuyeån toaøn boä moät ñoái töôïng baèng caùch aùp duïng quy  
taéc treân cho moïi ñieåm thuoäc ñoái töôïng. Ñeå tònh tieán moät ñoaïn thaúng, ñôn  
giaûn chæ caàn tònh tieán hai ñieåm ñaàu vaø cuoái cuûa noù roài sau ñoù veõ laïi ñoaïn  
thaúng noái hai ñieåm môùi. Vôùi ña giaùc, ta tònh tieán caùc ñænh cuûa noù sau ñoù  
veõ laïi ña giaùc vôùi caùc ñænh môùi. Moät caùch töông töï, ñeå tònh tieán caùc ñoái  
y
y
Q
try  
(2,3) (4,3)  
P
trx  
(6,1) (8,1)  
(b)  
x
x
(a)  
töôïng nhö ñöôøng troøn, ellipse, ta tònh tieán taâm cuûa chuùng tôùi vò trí môùi roài veõ  
laïi.  
Hình 3.1 – Pheùp tònh tieán moät ñieåm (a) vaø ñoái töôïng vôùi vector tònh tieán (-4,2) (b)  
1.2. Pheùp bieán ñoåi tæ leä  
Pheùp bieán ñoåi tæ leä laøm thay ñoåi kích thöôùc ñoái töôïng. Ñeå co hay giaõn toïa ñoä cuûa moät  
ñieåm P  
x, y theo truïc hoaønh vaø truïc tung laàn löôït laøsx vaøsy , ta nhaânsx vaø sy laàn löôït  
cho caùc toïa ñoä cuûa P.  
x's .x  
y'sy .y  
x
,
sx vaø sy ñöôïc goïi laø caùc heä soá tæ leä.  
Khi caùc giaù trò sx  
,
sy nhoû hôn 1, pheùp bieán ñoåi seõ thu nhoû ñoái töôïng, ngöôïc laïi khi  
sy baèng nhau,  
caùc giaù trò naøy lôùn hôn 1, pheùp bieán ñoåi seõ phoùng lôùn ñoái töôïng. Khi sx  
,
ta goïi ñoù laø pheùp ñoàng daïng (uniform scaling), pheùp ñoàng daïng laø pheùp bieán ñoåi baûo toaøn  
tính caân xöùng cuûa ñoái töôïng.  
Taâm tæ leä laø ñieåm khoâng bò thay ñoåi qua pheùp bieán ñoåi tæ leä. Pheùp bieán  
ñoåi tæ leä moâ taû nhö treân coøn goïi laø pheùp bieán ñoåi tæ leä quanh goác toïa ñoä  
vì coù taâm tæ leä laø goác toïa ñoä. Nhaän xeùt raèng khi pheùp bieán ñoåi tæ leä thu  
nhoû ñoái töôïng, ñoái töôïng seõ ñöôïc dôøi veà gaàn goác toïa ñoä hôn, töông töï khi  
phoùng lôùn ñoái töôïng, ñoái töôïng seõ ñöôïc dòch chuyeån xa goác toïa ñoä hôn.  
y
(2,3) (4,3)  
(5,1.5)  
(10,1.5)  
x
Hình 3.2 – Pheùp bieán ñoåi tæ leä vôùi sx 2.5 vaø sy 0.5  
1.3. Pheùp quay  
Pheùp quay laøm thay ñoåi höôùng cuûa ñoái töôïng. Moät pheùp quay ñoøi hoûi phaûi coù taâm  
quay, goùc quay. Goùc quay döông thöôøng ñöôïc quy öôùc laø chieàu ngöôïc chieàu kim ñoàng hoà. Ta  
coù coâng thöùc bieán ñoåi cuûa pheùp quay ñieåm P  
x, y quanh goác toïa ñoä moät goùc :  
x'cos.x sin.y  
y'sin.x cos.y  
y
x
Hình 3.3 – Pheùp quay moät ñoái töôïng quanh goác toïa ñoä moät goùc 600  
1.4. Bieåu dieãn ma traän cuûa pheùp bieán ñoåi  
Trong nhieàu öùng duïng ñoà hoïa, ngöôøi duøng thöôøng xuyeân coù nhu caàu thöïc  
hieän nhieàu pheùp bieán ñoåi hình hoïc khaùc nhau treân moät ñoái töôïng ñeå taïo ra  
caùc hieäu quaû nhö mong muoán. Ví duï trong caùc öùng duïng thieát keá, chuùng ta  
caàn phaûi thöïc hieän nhieàu pheùp tònh tieán, quay, tæ leä ñeå coù theå khôùp töøng  
phaàn cuûa ñoái töôïng vaøo ñuùng vò trí cuûa chuùng, hay sau khi thöïc hieän caùc  
pheùp bieán ñoåi nhöng khoâng ñöôïc öng yù, ngöôøi duøng muoán trôû laïi hieän traïng  
tröôùc khi bieán ñoåi (undo), … Do ñoù caàn phaûi coù moät caùch naøo ñoù ñeå coù  
theå xöû lí daõy caùc pheùp bieán ñoåi treân ñöôïc nhanh choùng vaø hieäu quaû.  
Neáu ta bieåu dieãn toïa ñoä cuûa ñieåm P  
x, y  
vaø Q  
x', y' döôùi daïng caùc vector doøng laàn  
löôït laø vaø x' y' thì caùc pheùp bieán ñoåi tònh tieán, tæ leä, quay coù theå ñöôïc bieåu dieãn  
x
y
döôùi daïng ma traän nhö sau :  
Pheùp tònh tieán  
x' y'  
x
y
trx try  
hay Q P T vôùi T   
trx try  
Pheùp bieán ñoåi tæ leä  
s
0
0
sy  
x
x' y'  
x
y
s
0
0
sy  
x
hay Q P.S vôùi S   
Pheùp quay quanh goác toïa ñoä  
cossin  
sincos  
x' y'  
x
y
cossin  
sincos  
hay Q P.R vôùi R   
Vôùi caùch bieåu dieãn naøy, chuùng ta seõ gaëp khoù khaên khi muoán keát hôïp caùc pheùp bieán  
ñoåi laïi vôùi nhau vì bieåu dieãn cuûa pheùp tònh tieán khaùc vôùi daïng cuûa caùc pheùp bieán ñoåi tæ leä  
vaø quay. Chính vì vaäy maø caàn phaûi coù moät caùch naøo ñoù ñeå bieåu dieãn ba pheùp bieán ñoåi naøy  
veà moät daïng duy nhaát ñeå coù theå deã daøng xöû lí sau naøy.  
1.4.1. Heä toïa ñoä thuaàn nhaát (hormogeneous coordinates)  
Toïa ñoä thuaàn nhaát cuûa moät ñieåm treân maët phaúng ñöôïc bieåu dieãn baèng boä ba soá tæ leä  
xh , yh ,h  
khoâng ñoàng thôøi baèng 0 vaø lieân heä vôùi caùc toïa ñoä  
x, y cuûa ñieåm ñoù bôûi coâng  
thöùc :  
xh  
h
yh  
h
x   
,
y   
Neáu moät ñieåm coù toïa ñoä thuaàn nhaát laø  
x, y, z  
thì noù cuõng coù toïa ñoä thuaàn nhaát laø  
h.x,h.y,h.z trong ñoù h laø soá thöïc khaùc 0 baát kì. Toïa ñoä thuaàn nhaát cuûa moät ñieåm trong  
khoâng gian ba chieàu hay coù soá chieàu lôùn hôn cuõng ñöôïc xaùc ñònh moät caùch töông töï.  
Veà maët toaùn hoïc, vieäc ñöa toïa ñoä thuaàn nhaát vaøo laø do söï caàn thieát phaûi  
boå sung cho maët phaúng Euclid caùc ñieåm xa voâ taän  
x, y,0 (ñieåm phi chính) coù  
toïa ñoä thöù ba baèng 0, ñieàu naøy daãn ñeán khaùi nieäm maët phaúng xaï aûnh trong  
hình hoïc xaï aûnh. Trong heä toïa ñoä thuaàn nhaát, caùc ñieåm xa voâ taän khoâng  
ñoùng moät vai troø gì ñaëc bieät so vôùi caùc ñieåm khaùc cuûa maët phaúng. Vôùi  
caùc pheùp bieán ñoåi hình hoïc ñang khaûo saùt, neáu moät ñieåm ñöôïc bieåu dieãn  
döôùi daïng toïa ñoä thuaàn nhaát, caû ba pheùp bieán ñoåi treân ñeàu ñöôïc bieåu dieãn  
döôùi daïng tích caùc ma traän. Ñieàu naøy giuùp cho vieäc khaûo saùt caùc tính chaát  
vaø söï keát hôïp cuûa caùc pheùp bieán ñoåi naøy ñöôïc thuaän tieän do moãi pheùp  
bieán ñoåi ñöôïc ñaïi dieän bôûi moät ma traän duy nhaát.  
Boä ba caùc toïa ñoä thöôøng bieåu dieãn caùc ñieåm trong khoâng gian ba chieàu,  
nhöng ôû ñaây ta söû duïng chuùng ñeå bieåu dieãn caùc ñieåm trong khoâng gian hai  
chieàu. Moái lieân heä ôû ñaây laø : neáu chuùng ta xeùt taát caû caùc boä ba toïa ñoä  
thuaàn nhaát bieåu dieãn cho cuøng moät ñieåm, nghóa laø boä ba soá coù daïng  
h.x,h.y,h.  
, vôùi h 0, chuùng ta seõ nhaän ñöôïc moät ñöôøng thaúng trong khoâng  
gian ba chieàu. Ñeå ñôn giaûn hoùa chuùng ta coù theå choïn h 1, luùc naøy moãi  
ñieåm P seõ ñöôïc bieåu dieãn döôùi daïng toïa ñoä thuaàn nhaát laø  
x, y  
x, y,1 .  
1.4.2. Bieåu dieãn caùc pheùp bieán ñoåi döôùi daïng toïa ñoä thuaàn nhaát  
Pheùp tònh tieán  
1
0
1
0
0
1
x' y' 1  
x
y 1  
. 0  
trx try  
1
0
0
1
0
0
1
hay Q P.MT  
trx ,try  
vôùi MT  
trx ,try   
trx try  
Pheùp bieán ñoåi tæ leä  
s
0
0
0
1
x
x' y' 1  
x
y 1  
. 0 sy  
0
0
s
0
0
0
sy  
0
0
0
1
x
hay Q P.MS  
sx ,sy  
vôùi MS  
sx ,sy  
Pheùp quay quanh goác toïa ñoä  
cossin  
0
0
1
x' y' 1  
x
y 1  
. sincos  
0
0
cossin  
  sincos  
0
0
1
hay Q P.MR  
vôùi MR  
0
0
2. KEÁT HÔÏP CAÙC PHEÙP BIEÁN ÑOÅI  
Quaù trình aùp duïng caùc pheùp bieán ñoåi lieân tieáp ñeå taïo neân moät pheùp bieán  
ñoåi toång theå ñöôïc goïi laø söï keát hôïp caùc pheùp bieán ñoåi (composing  
transformation).  
2.1. Keát hôïp caùc pheùp tònh tieán  
Neáu ta thöïc hieän pheùp tònh tieán leân P  
tònh tieán khaùc leân P’, ta ñöôïc ñieåm Q x', y' . Nhö vaäy, Q laø aûnh cuûa pheùp bieán ñoåi keát hôïp  
hai pheùp tònh tieán lieân tieáp MT1 trx1,try1 vaø MT2 trx2 ,try2 coù toïa ñoä :  
Q P.MT1 trx2 ,try2 P. MT1 trx1,try1 .MT2 trx2 ,try2
  
trx1,try1
.MT2  
x, y ñöôïc P’ , roài laïi thöïc hieän tieáp moät pheùp  
Ta coù :  
   
1
0
0
1
0
1
0
0
1
0
0
1
   
MT1  
trx1,try1  
.MT2  
trx2 ,try2  
0 .  
   
   
   
trx1 try1  
1
trx2 try2  
1
0
0
1
0
0
1
trx1 trx2 try1 try2  
hay : MT1  
trx1,try1 .MT2  
trx2 ,try2  
MT  
trx1 trx2 ,try1 try2  
Vaäy keát hôïp hai pheùp tònh tieán laø moät pheùp tònh tieán. Töø ñoù ta coù keát hôïp  
cuûa nhieàu pheùp tònh tieán cuõng laø moät pheùp tònh tieán.  
2.2. Keát hôïp caùc pheùp tæ leä  
Töông töï nhö pheùp tònh tieán, ta coù toïa ñoä ñieåm Q  
hôïp hai pheùp tæ leä MS1 sx1,sy1 vaø MS2 sx2 ,sy2 laø :  
sx1,sy1
.MS2 sx2 ,sy2 P. MS1 sx1,sy1  
x', y' laø ñieåm coù ñöôïc sau khi keát  
Q   
P.MS1  
.MS2  
sx2 ,sy2
  
Ta coù :  
s
0
0
0
0
s
0
0
0
1
   
x1  
x2  
   
MS1  
sx1,sy1  
.MS2  
sx2 ,sy2  
sy1 0 . 0 sy2  
0
   
   
1
0
0
   
s .s  
0
0
0
1
x1 x2  
0
0
sy1.sy2  
0
hay : MS1  
sx1,sy1  
.MS2  
sx2 ,sy2  
MS  
sx1.sx2 ,sy1.sy2  
Vaäy keát hôïp hai pheùp tæ leä laø moät pheùp tæ leä. Deã daøng môû roäng cho keát  
quaû : keát hôïp cuûa nhieàu pheùp tæ leä cuõng laø moät pheùp tæ leä.  
2.3. Keát hôïp caùc pheùp quay  
Töông töï, ta coù toïa ñoä ñieåm Q  
quay quanh goác toïa ñoä MR1 1 vaø MR2  
P. MR1 1  
x', y'  
2  
.MR2  
laø ñieåm phaùt sinh sau khi keát hôïp hai pheùp  
laø :  
Q   
P.MR1  
1 .MR2  
2  
2   
Ta coù :  
cos1 sin1  
0
cos2 sin2  
0
0
1
   
   
MR1  
1  
.MR2  
2  
  sin  
cos1 0 . sin  
cos2  
   
1
2
   
0
0
1
0
0
   
cos  
  sin  
1 2  
sin  
cos  
1 2  
0
0
1
1 2  
1 2  
0
0
hay : MR1  
1  
.MR2  
2  
MR  
1 2  
Vaäy keát hôïp hai pheùp quay quanh goác toïa ñoä laø moät pheùp quay quanh goác toïa  
ñoä. Töø ñoù deã daøng suy ra keát hôïp cuûa nhieàu pheùp quay quanh goác toïa ñoä  
cuõng laø moät pheùp quay quanh goác toïa ñoä.  
2.4. Pheùp quay coù taâm quay laø ñieåm baát kì  
Giaû söû taâm quay coù toïa ñoä I  
xR , yR  
, ta coù theå xem pheùp quay quanh taâm I moät goùc  
ñöôïc keát hôïp töø caùc pheùp bieán ñoåi cô sôû sau:  
Tònh tieán theo vector tònh tieán  
xR ,yR  
ñeå dòch chuyeån taâm quay veà goác  
toïa ñoä (ñöa veà tröôøng hôïp quay quanh goác toïa ñoä).  
Quay quanh goác toïa ñoä moät goùc  
.
Tònh tieán theo vector tònh tieán  
ñaàu.  
xR , yR  
ñeå ñöa taâm quay veà laïi vò trí ban  
y
y
y
y
I(xR,yR)  
I(xR,yR)  
x
x
x
x
(a)  
(b)  
(c)  
(d)  
Hình 3.4 – Pheùp quay quanh taâm laø ñieåm baát kì. Ñoái töôïng tröôùc khi bieán ñoåi(a), Sau khi tònh tieán veà goác toïa  
ñoä(b), Sau khi quay goùc (c), Sau khi tònh tieán veà taâm quay ban ñaàu(d).  
Ta coù ma traän cuûa pheùp bieán ñoåi :  
MR  
xR , yR ,  
MT  
xR ,yR  
.MR  
.MT  
xR , yR  
1
0
0
1
0
cossin  
0
1
0
1
0
0
1
   
   
   
   
0 . sincos0 . 0  
1
   
   
   
   
xR yR  
cos  
sin  
1cosxR sin.yR sin.xR  
0
0
1
xR yR  
   
   
sin  
cos  
1cosyR  
0
0
1
3. MOÄT SOÁ TÍNH CHAÁT CUÛA PHEÙP BIEÁN ÑOÅI AFFINE  
Pheùp bieán ñoåi affine baûo toaøn ñöôøng thaúng  
AÛnh cuûa ñöôøng thaúng qua pheùp bieán ñoåi affine laø ñöôøng thaúng.  
Thaät vaäy, ta coù phöông trình tham soá cuûa ñöôøng thaúng qua hai ñieåm A, B laø :  
P
t
1t  
P  
Neáu goïi A’, B’ laàn löôït laø aûnh cuûa A, B qua pheùp bieán ñoåi M, ta seõ coù  
A tB .  
Q
t
caùc ñieåm nhaän ñöôïc sau pheùp bieán ñoåi M.  
Q t  
t
.M   
  
1t A tB M 1t AM tBM  
A'AM, B'BM . Luùc naøy Q  
t
1t A'tB'. Ñaây chính laø daïng cuûa phöông trình tham  
soá ñoaïn thaúng qua A’, B’.  
Töø keát quaû treân, ñeå bieán ñoåi moät ñoaïn thaúng ñi qua hai ñieåm A vaø B, ta chæ  
caàn aùp duïng pheùp bieán ñoåi cho hai ñieåm A, B roài veõ laïi ñoaïn thaúng qua hai  
ñieåm môùi.  
Tính song song cuûa caùc ñöôøng thaúng ñöôïc baûo toaøn  
AÛnh cuûa hai ñöôøng thaúng song song laø hai ñöôøng song song.  
Chuùng ta coù theå vieát laïi phöông trình tham soá cuûa ñöôøng thaúng döôùi daïng tia xuaát  
phaùt töø A öùng vôùi t=0 vaø theo phöông B A nhö sau : A t . Luùc naøy ta bieåu dieãn hai  
ñöôøng thaúng song song döôùi daïng tia : L1  
t
A1 t vaø L2  
t A2 t coù cuøng phöông t  
nhöng xuaát phaùt töø hai ñieåm khaùc nhau. Luùc naøy aùp duïng pheùp bieán ñoåi leân hai ñöôøng  
thaúng song song naøy, deã daøng nhaän ra aûnh cuûa chuùng seõ coù phöông M neân chuùng song  
song.  
Moät heä quaû quan troïng cuûa tính chaát naøy ñoù laø aûnh cuûa caùc hình bình haønh  
sau pheùp bieán ñoåi laø caùc hình bình haønh.  
Tính tæ leä veà khoaûng caùch ñöôïc baûo toaøn  
Giaû söû C laø ñieåm chia ñoaïn AB theo tæ soá t. Neáu A’, B’, C’ laàn löôït laø aûnh A,  
B, C qua pheùp bieán ñoåi thì C’ cuõng seõ chia A’B’ theo tæ soá t.  
Trong tröôøng hôïp ñaëc bieät, neáu C laø trung ñieåm cuûa AB thì C’ cuõng laø trung  
ñieåm cuûa A’B’, töø ñoù ta coù theå suy ra moät soá tính chaát sau :  
Trong hình vuoâng, caùc ñöôøng cheùo caét nhau taïi trung ñieåm cuûa moãi ñöôøng  
neân caùc ñöôøng cheùo cuûa baát cöù hình bình haønh naøo cuõng caét nhau taïi trung  
ñieåm cuûa moãi ñöôøng.  
Trong tam giaùc ñeàu, giao ñieåm cuûa ba ñöôøng trung tuyeán chia moãi ñöôøng  
theo tæ soá 1:2. Maët khaùc, moät tam giaùc baát kì laø aûnh cuûa tam giaùc ñeàu qua  
pheùp bieán ñoåi affine, neân giao ñieåm cuûa caùc ñöôøng trung tuyeán cuûa noù cuõng  
seõ chia chuùng theo tæ leä 1:2.  
4. MOÄT SOÁ PHEÙP BIEÁN ÑOÅI KHAÙC  
4.1. Pheùp ñoái xöùng  
Pheùp ñoái xöùng truïc coù theå xem laø pheùp quay quanh truïc ñoái xöùng moät goùc  
1800. Neáu truïc ñoái xöùng laø truïc hoaønh hay truïc tung, chuùng ta coù bieåu dieãn  
cuûa pheùp ñoái xöùng qua truïc hoaønh, truïc tung laàn löôït laø :  
1
0
0
MRfx 0 1 0  
0
0
1
1 0 0  
MRfy  
0
0
1 0  
0 1  
4.2. Pheùp bieán daïng  
Pheùp bieán daïng laø pheùp bieán ñoåi laøm thay ñoåi, meùo moù hình daïng cuûa caùc  
ñoái töôïng. Hai daïng pheùp bieán daïng thöôøng gaëp ñoù laø bieán daïng theo phöông  
truïc x vaø bieán daïng theo phöông truïc y baèng caùch thay ñoåi toïa ñoä  
ñieåm ban ñaàu theo caùch sau :  
x, y cuûa  
Bieán daïng theo phöông truïc x seõ laøm thay ñoåi hoaønh ñoä coøn tung ñoä vaãn giöõ  
nguyeân  
1
0 0  
1 0  
0 1  
MShx sh  
xy  
0
Bieán daïng theo phöông truïc y seõ laøm thay ñoåi tung ñoä coøn hoaønh ñoä vaãn giöõ  
nguyeân  
1
shyx  
1
0
0
0
1
MShy 0  
0
shxy vaø shyx laàn löôït ñöôïc goïi laø caùc heä soá bieán daïng.  
y
(1,3) (3,3)  
(10,3)  
(12,3)  
(1,1) (3,1) (4,1) (6,1)  
x
Hình 3.5 – Pheùp bieán daïng theo phöông truïc x vôùi heä soá bieán daïng shxy 3  
4.3. Pheùp bieán ñoåi ngöôïc  
Chuùng ta thöôøng duøng pheùp bieán ñoåi ngöôïc ñeå coù theå undo moät pheùp bieán  
ñoåi ñaõ thöïc hieän.  
Ta coù Q laø aûnh cuûa P qua pheùp bieán ñoåi T coù ma traän bieán ñoåi M laø :  
Q PM , töø ñoù pheùp bieán ñoåi ngöôïc T-1 seõ coù ma traän bieán ñoåi laø M-1 vôùi  
M-1 laø ma traän nghòch ñaûo cuûa ma traän M.  
Vôùi giaû thieát ban ñaàu veà ma traän M laø ad bc 0, ta coù coâng thöùc tính ma traän  
a
b 0  
nghòch ñaûo M-1 cuûa M c d 0 laø :  
e
f
1
d
c  
b  
a
0
0
1
1
M 1  
ad bc  
cf de be af  
Nhö vaäy ta coù ma traän cuûa caùc pheùp bieán ñoåi ngöôïc cuûa caùc pheùp bieán ñoåi  
cô sôû tònh tieán, tæ leä, quay laàn löôït nhö sau :  
0
1
0
0
1
MT1  
MS1  
MR1  
trx ,try  
0 MT trx ,try  
1
trx try  
1
0
0
s
x
s
0
0
0
0
y
1
sx sy  
1
sy  
0
1
1
sx ,sy  
sx 0   
0
0 M  
,
S   
sx sy  
0
1
0
1
cossin  
sincos0 MR   
0
0
0
1
4.4. Phaân raõ pheùp bieán ñoåi  
Moät pheùp bieán ñoåi baát kì coù theå ñöôïc phaân raõ thaønh tích caùc pheùp bieán  
ñoåi cô sôû nhö tònh tieán, quay, tæ leä.  
Moät pheùp bieán daïng theo phöông truïc x coù theå ñöôïc phaân raõ thaønh tích cuûa  
moät pheùp bieán ñoåi tæ leä vaø moät pheùp bieán daïng ñôn vò, vaø vôùi moät pheùp  
bieán ñoåi tæ leä khaùc theo coâng thöùc sau :  
1
0 0  
1
0 0  
1 0   
0 1  
1 0 0 sh  
  
0 0  
1 0  
0 1  
sh  
xy  
xy  
  
sh  
0
0
1 0 1 1 0  
0
  
xy  
  
  
0
0 1 0 0 1  
0
  
Pheùp bieán daïng ñôn vò coøn coù theå ñöôïc phaân raõ tieáp :  
0
0
1 0 0  
cossin  
0
cossin  
sincos  
0
0
1
1
1 1 0 sincos0 0  
0
0
0 0 1  
0
0
1
0
0
0
1
1  
58.280  
tan  
1
trong ñoù  
1   
0
tan  
31.72  
Töø ñoù, moät pheùp bieán ñoåi baát kì coù theå ñöôïc phaân raõ thaønh caùc pheùp  
bieán ñoåi cô sôû sau :  
a
Q
b
Q
0
b
Q
a
Q
0
0
Q
0
0
0
0
1
1
0 0  
1 0  
a
c
e
b
0
1
0
0
0
1
ac bd  
ad bc  
d 0   
f
0 0 1  
Q2  
0
Q
0
1
e
f
0
1
0 1  
trong ñoù Q2 a2 b2  
.
Vôùi caùch laäp luaän treân ta nhaän thaáy : baát kì pheùp bieán ñoåi naøo cuõng ñöôïc  
keát hôïp töø caùc pheùp bieán daïng, tæ leä, quay, vaø tònh tieán. Tuy nhieân, theo keát  
quaû ôû böôùc tröôùc, pheùp bieán daïng laø söï keát hôïp cuûa caùc pheùp quay, tæ leä,  
neân töø ñoù suy ra baát kì pheùp bieán ñoåi naøo cuõng ñöôïc keát hôïp töø caùc pheùp  
tònh tieán, tæ leä vaø quay.  
5. PHEÙP BIEÁN ÑOÅI GIÖÕA CAÙC HEÄ TOÏA ÑOÄ  
Ñeå thuaän tieän cho vieäc moâ taû ñoái töôïng, thoâng thöôøng ñoái töôïng seõ ñöôïc  
moâ taû trong caùc heä toïa ñoä cuïc boä gaén vôùi chuùng. Tuy nhieân ñeå coù theå  
hieån thò toaøn boä moät aûnh bao goàm nhieàu ñoái töôïng thaønh phaàn, caùc moâ taû  
naøy phaûi ñöôïc chuyeån veà moät heä toïa ñoä chung duy nhaát. Vieäc chuyeån ñoåi  
naøy thöôøng ñöôïc chia laøm hai loaïi : chuyeån töø caùc heä toïa ñoä khoâng phaûi laø  
heä toïa ñoä Descartes nhö heä toïa ñoä cöïc, heä toïa ñoä caàu, heä toïa ñoä elliptic, …  
sang heä toïa ñoä Descartes, vaø chuyeån ñoåi giöõa hai heä toïa ñoä Descartes. Trong  
phaàn naøy chuùng ta seõ khaûo saùt pheùp bieán ñoåi giöõa hai heä toïa ñoä Descartes  
vôùi nhau.  
Hình 3.6 – Pheùp bieán ñoåi giöõa hai heä toïa ñoä  
Giaû söû ta coù heä toïa ñoä (I) coù goác toïa ñoä O vaø caùc vector ñôn vò laàn löôït laø  
i, j . Heä toïa ñoä (II) laø aûnh cuûa heä toïa ñoä (I) qua pheùp bieán ñoåi T(M), coù goác  
toïa ñoä laø O’ vaø caùc vector ñôn vò laàn löôït laø u,v. Luùc naøy moät ñieåm P  
x, y  
baát kì trong heä toïa ñoä (I) seõ ñöôïc bieán ñoåi thaønh ñieåm trong heä toïa ñoä  
Q
a,b  
(II). Vaán ñeà ñaët ra ôû ñaây laø moái lieân heä giöõa a,b vôùi x, y,M nhö theá naøo.  
Ngöôøi ta chöùng minh ñöôïc raèng Q PM 1  
.
P
v
u
O'  
j
i
O
Hình 3.7 – Toïa ñoä cuûa moät ñieåm qua pheùp bieán ñoåi heä toïa ñoä  
TOÙM TAÉT  
Caùc pheùp bieán ñoåi hình hoïc cho pheùp deã daøng thao taùc leân caùc ñoái töôïng ñaõ ñöôïc taïo ra. Chuùng  
laøm thay ñoåi moâ taû veà toïa ñoä cuûa caùc ñoái töôïng, töø ñoù ñoái töôïng seõ ñöôïc thay ñoåi veà höôùng, kích thöôùc  
vaø hình daïng. Caùc pheùp bieán ñoåi hình hoïc cô sôû bao goàm tònh tieán, quay vaø bieán ñoåi tæ leä. Ngoaøi ra moät soá  
pheùp bieán ñoåi khaùc cuõng thöôøng ñöôïc aùp duïng ñoù laø pheùp ñoái xöùng vaø bieán daïng.  
Coù hai quan ñieåm veà pheùp bieán ñoåi hình hoïc ñoù laø : bieán ñoåi ñoái töôïng vaø bieán ñoåi heä toïa ñoä. Bieán  
ñoåi ñoái töôïng thay ñoåi toïa ñoä cuûa caùc ñieåm moâ taû noù theo moät quy taéc naøo ñoù, coøn bieán ñoåi heä toïa ñoä  
seõ taïo ra moät heä toïa ñoä môùi vaø taát caû caùc ñieåm moâ taû ñoái töôïng seõ ñöôïc chuyeån veà heä toïa ñoä môùi.  
Caùc pheùp bieán ñoåi hình hoïc ñeàu ñöôïc bieåu dieãn döôùi daïng ma traän thuaàn nhaát 3x3 ñeå tieän cho vieäc  
thöïc hieän caùc thao taùc keát hôïp giöõa chuùng. Trong heä toïa ñoä thuaàn nhaát, toïa ñoä cuûa moät ñieåm ñöôïc moâ  
taû bôûi moät vector doøng bao goàm ba giaù trò, hai giaù trò ñaàu töông öùng vôùi toïa ñoä Descartes cuûa ñieåm ñoù, vaø  
giaù trò thöù ba laø 1. Vôùi caùch bieåu dieãn naøy, ma traän cuûa pheùp bieán ñoåi coù ñöôïc töø söï keát hôïp cuûa caùc  
pheùp bieán ñoåi cô sôû seõ baèng tích cuûa caùc ma traän cuûa caùc pheùp bieán ñoåi thaønh phaàn.  
Caùc pheùp bieán ñoåi khoâng laøm thay ñoåi keát caáu veà tính caân xöùng cuûa ñoái töôïng nhö tònh tieán, quay  
ñöôïc goïi laø caùc pheùp bieán ñoåi baûo toaøn keát caáu ñoái töôïng, thuaät ngöõ tieáng Anh goïi laø rigid-body  
transformation.  
Vieäc chuyeån ñoåi giöõa hai heä toïa ñoä Descartes vôùi nhau thöôøng gaëp trong coâng ñoaïn chuyeån caùc  
moâ taû toïa ñoä cuûa caùc ñoái töôïng thaønh phaàn trong caùc heä toïa ñoä cuïc boä veà caùc vò trí töông öùng trong  
moät heä toïa ñoä chung. Giöõa hai heä toïa ñoä Descartes vôùi nhau, ngöôøi ta thöôøng söû duïng caùc pheùp bieán ñoåi  
baûo toaøn keát caáu nhö laø tònh tieán, quay.  
BAØI TAÄP  
1. Cho bieát ma traän caùc pheùp bieán ñoåi duøng ñeå bieán ñoåi moät hình troøn thaønh hình  
ellipse vaø ngöôïc laïi.  
2. Cho bieát ma traän caùc pheùp bieán ñoåi duøng ñeå bieán ñoåi moät hình vuoâng thaønh hình chöõ  
nhaät, hình bình haønh vaø ngöôïc laïi.  
3. Xaây döïng vaø caøi ñaët caáu truùc döõ lieäu vaø caùc haøm duøng ñeå thöïc hieän moät pheùp bieán ñoåi  
affine baát kì.  
4. Cho bieát ma traän cuûa pheùp tæ leä vôùi taâm tæ leä laø ñieåm baát kì.  
5. Cho bieát ma traän cuûa pheùp laáy ñoái xöùng qua ñöôøng thaúng y=mx+b baát kì.  
6. Cho bieát ma traän cuûa pheùp laáy ñoái xöùng qua taâm laø ñieåm baát kì.  
7. Cho bieát ma traän cuûa pheùp bieán daïng theo phöông cuûa ñöôøng thaúng y=mx+b.  
8. Chöùng minh raèng ma traän cuûa pheùp laáy ñoái xöùng qua ñöôøng thaúng y x töông ñöông  
vôùi keát hôïp cuûa pheùp laáy ñoái xöùng qua truïc hoaønh vaø pheùp quay quanh goác toïa ñoä moät  
goùc 900.  
9. Chöùng minh raèng ma traän cuûa pheùp laáy ñoái xöùng qua ñöôøng thaúng y  x töông  
ñöông vôùi keát hôïp cuûa pheùp laáy ñoái xöùng qua truïc tung vaø pheùp quay quanh goác toïa ñoä  
moät goùc 900.  
10. Trong pheùp bieán ñoåi tæ leä, sx ,sy ñöôïc goïi laø caùc heä soá tæ leä theo phöông cuûa truïc hoaønh  
vaø phöông cuûa truïc tung. Haõy cho bieát coâng thöùc cuûa pheùp bieán ñoåi tæ leä theo phöông  
cuûa caùc truïc nghieâng so vôùi truïc hoaønh (caùc truïc naøy tröïc giao vôùi nhau) moät goùc  
vôùi  
caùc heä soá tæ leä theo caùc phöông treân laø sx ,sy  
.
11. Chöùng minh raèng caëp hai pheùp tæ leä laø giao hoaùn, nghóa laø  
MS1MS2 MS2 MS1 . Töông  
töï cho caëp hai pheùp quay.  
12. Chöùng minh raèng pheùp ñoàng daïng vaø pheùp quay taïo thaønh moät caëp thao taùc coù tính  
giao hoaùn, nhöng pheùp bieán ñoåi tæ leä thöôøng vaø pheùp quay thì khoâng vaäy.  
13. Trình baøy ma traän cuûa pheùp bieán daïng döôùi daïng tích ma traän cuûa caùc pheùp quay vaø  
caùc pheùp tæ leä.  
14. Trình baøy ma traän cuûa pheùp quay döôùi daïng tích ma traän cuûa caùc pheùp bieán daïng vaø tæ  
leä.  
15. Chöùng minh raèng pheùp quay quanh goác toïa ñoä coù theå ñöôïc phaân tích thaønh ba pheùp  
bieán daïng. Ñaây laø caùch ñeå quay moät aûnh nhanh vì pheùp bieán daïng thöôøng ñöôïc thöïc  
hieän baèng caùch di chuyeån toaøn boä caùc khoái ñieåm aûnh (block pixels).  
16. Chöùng minh moät pheùp bieán ñoåi affine baát kì coù theå ñöôïc phaân tích thaønh tích cuûa caùc  
pheùp tònh tieán, tæ leä vaø quay.  
17. Chöùng minh coâng thöùc tính toïa ñoä cuûa moät ñieåm khi thöïc hieän pheùp bieán ñoåi giöõa caùc  
heä toïa ñoä  
18. Heä toïa ñoä x'O' y' nhaän ñöôïc baèng caùch quay quanh goác toïa ñoä moät goùc  
theo vector tònh tieán trx ,try heä toïa ñoä xOy . Haõy cho bieát coâng thöùc toïa ñoä cuûa ñieåm  
P trong heä toïa ñoä x'O' y' neáu P x, y laø toïa ñoä cuûa P trong heä toïa ñoä xOy .  
roài tònh tieán  
19. Vieát chöông trình minh hoïa caùc böôùc keát hôïp caùc pheùp bieán ñoåi cô sôû ñeå taïo thaønh  
pheùp quay moät ñieåm quanh taâm baát kì. Thöïc hieän töông töï cho pheùp tæ leä coù taâm tæ leä  
laø ñieåm baát kì.  
20. Vieát chöông trình cho pheùp ngöôøi duøng söû duïng caùc pheùp bieán ñoåi ñaõ hoïc thao taùc leân  
moät ñoái töôïng cho tröôùc.  
doc 16 trang Thùy Anh 27/04/2022 7860
Bạn đang xem tài liệu "Giáo trình Đồ họa máy tính - Chương 3, Phần 1: Các phép biến đổi trong đồ họa hai chiều", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_do_hoa_may_tinh_chuong_3_phan_1_cac_phep_bien_doi.doc
  • htmChuong3.htm