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ä
cos sin
sin cos
x' y'
x
y
cos sin
sin cos
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ä
cos sin
0
0
1
x' y' 1
x
y 1
. sin cos
0
0
cos sin
sin cos
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
cos sin
0
1
0
1
0
0
1
0 . sin cos 0 . 0
1
xR yR
cos
sin
1 cos xR sin.yR sin.xR
0
0
1
xR yR
sin
cos
1 cos yR
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
1 t
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
1 t A tB M 1 t AM tBM
A' AM, B' BM . Luùc naøy Q
t
1 t 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
cos sin
sin cos 0 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
cos sin
0
cos sin
sin cos
0
0
1
1
1 1 0 sin cos 0 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.
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:
- giao_trinh_do_hoa_may_tinh_chuong_3_phan_1_cac_phep_bien_doi.doc
- Chuong3.htm