Sei sulla pagina 1di 274

\

A

THU VIEr~

'"

DB.DAN LAP HP



; "f Ht~u:'Il:.;J.

I--fi.1.J;J1-s6, ~ __

lip •••• _- - - .. - ..

" I,

. - .... - j

. ~ ... -..,. ....

• .. .... IE.

~

eo

LU'ONG CHI MAl ..

HUYNH THI THANH BINH



Nh(lp man

OA



, ,

AYTI

NHA XU AT BAN KHOA HOC V A KY THUAT '

• •

THU Vf~~ f.1H.DAN l~P HP. 'PHONGflOC

... ill' _ .... L ' __. • - ... '. _ ...

- -- '. "'* •

Ha Noi - 2000



...

... . . ,

, .' I' .. ' " I'~ .
. ' " .. I -t.. .
, ' ... ; r.-.
. ,
;' I I
. ' ... '-~ - ;~ "
- {(
.: ~ ..... J ~ .' ;ir!
I ' L· ~ ~.
... ' . ' ...
.. ' ... .. .~. , .(
,I' 1.1 .. . ' :i.i
.. r~ ":" .. f. ...

, ~' .

, ,- .

, . .

.~ ....

. '

..

,~p

+~

, ,

I .. , ..

r

.~

.....

...

'-~

~. ~ . ,< ~ .,
. ''1 . '.~.~ ~ '" 1. ~t ~1 Pl' .
It • ,.l, .~ 1 "
'p f,
" p. 1
I.. ~ " ~Ar1 .....
r ;t .• j .~., ~ L. .j
: ~ 1 " ~ • ..
J '!'I , .

....I~ .

"

i:

. '. ·I"'~

"

I I"

.. ,

'.'

I" J.

• ..... "'_ .. ~ nr... .. . 1- .' "I _ ...

1 ~

... r-

I ._ ........

-,

-- .

--

,.

....... -

..... P' ..........

• pi I ...

"

"

,',1

.: -

. '.~

.'

r. ,I

..... '1 'I'

6.6]7.3 '. " ,

KHKT -00 451-l16411 0/00

,~ ,

. I"

"

'.

:,...,

..'

"'!

.. I·,.· .. ~-

, 1

... I.

• ~ I •

....

, .

, ~,

.,

,.<

" :\

..

.'

"

, .'

.',

I ~I I ~

'.'

'I' . :r .... ,~. J .;.'

.. ,

.. ,'.Ii,

I"

.'

I ~. .·1

"

. ," ;1.

"

-. '

"

~'

-

or:' :,

... ;. ~ l ., .. ~, .~ _ ~ ... ~ '_,.I .p 1 ,

..

..... ,

, ~~ ,..,
~~ .... .
r - 4..
- .. ~- " ..
... ...........
..
- + . ,_
I
, "
1 ' ., "
,I
.. ,
I ~ ~.I
.~- , 'I
",Ip . ' • r
l-
~ ~
....
" r
, ,.'

..

LOINOI£)AU

D6 hoa may tinh la mot trong nhirng Iinh vue hlp dAn va phat trien het sue mau ly cua Cong nghe th6ng tin; N6 diroc sit dung rong rai trong rat nhieu Iinh vue nhir khoa hQC va cong nghe, y h9C, kien tnic, va ke ca giai trf, 06 hoa may tinh cling v6'i mo hlnh hoa hlnh hoc dang giup con nguai thay d6i each cam nhan va sit dung may tinh va trb thanh c6ng cu quan trong trong thiet ke ky thuat va doi s6ng hang ngay. Nhan biet duoc vai tro ella d6 hoa may tinh, rnon nDe; QQa may tinh n da tra thanh mon hoc chinh kh6a cua cac chuyen nganh v~ Cong nghe th6ng tin va ky thuat t.rong chuang trinh dai h9C va cao hoc. N Qi dung chu y~u cua mon hoc HI cung cap nhii'ng kien thuc C(J sa de giup sinh vien nam virng cac phan mern CAD hien co va xay dung cac phan mern CAD rnoi. Cac kien thirc cc so nay luon luon 6n dinh trong khi cac phan mem CAD va phan

41-

cirng may tinh lu6n duoc nang clip m¢t each nhanh ch6ng.

Cuon sach "Nhap rnon d6 hoa may tinh" ducc bien soan dua tren de cirong mon D6 hoa may tinh thuoc chuang trlnh dao tao tin h9C bac dai h9C va cao hoc cua B0 Giao d\1C va Dao tao, n(\i dung such diroc t~p trung vao cac van de co ban nhat cua d6 hoa hai chieu va ha chieu, Cu6n sach nham eung cap mot kh6i hrong kien thirc day du va chon IQc bao g6m cac khai niem eel ban nhat, cac thuat toan co SCI ella d6 hoa may tinh, giiip ngual doc co th~ tu tim hi~u va xay dung cac chuang trinh irng dung d6 hoa. Sach co the sir dung lam tai lieu giang day hoac tham khao cho mon "D6 hoa may tinh" dung cho sinh vien dai hoc va cao hoc cac nganh Cong nghe thong tin va ky thuat. Tai lieu cling htru Ich cho cac ky sir muon nang cao kien thirc C<J sa va cho tat ca nhirng ai quan tam den co sa toan h9C cua cac phan mern <;AD.

Cu6n sach duoc chia lam 9 chuang va phan phu luc, bao g6m hai

4

NHAp MON DO HOA MA. Y TlNH

• • 4

phan chinh: db hoa hai chieu va d6 hoa ba chieu. Cuoi m6i chuang d~u co phan t6m tat va cac bai t~p tieu bi~u d~ nguoi doc tu kiem tra. Mot s6 thuat toan co ban c6 chuang trinh minh hoa diroi dang ngon ngil' C.

Cac van de trinh bay trong cuon sach dircc tham khao trong cac tai lieu kinh di8n v@ d6 hoa may tinh, d~c biet diroc cap nhat them tit cac bai giang v~ d6 hoa cua mot s6 tnrong dai hoc tren th€ gi6i a nhir MIT, ALT. Tuy nhien trong qua trinh bien soan chac chan khong tht! khong tranh khoi set sot, cluing toi xin tran trong tiep thu uit ca nhirng y kien dong gop cua ban doc cling nhir cac ban d6ng nghiep de cu6n sach nga y mot hoan thien han.

~ .

Thir tic gop y xin gi'ri ve:

- Phong Nht!-n dang & Xa If dnh, Vifn Cong nghf thong tin, nuimg Hoang Quae Vift, Can Giay, Btl Npi.

EJi~n thoai 7560537. Email: lemai@ioit.nest.ac.vn.

Cac tac gia

..

MUC LUC

'" '"

Loi noi dau

3

Chuang 1. Gi6i thieu ve do hoa may tinh

13

1.1. Cac rrng dung cua d6 hoa may tfnh 1.2. T6ng quan ve d6 hoa may tfnh

,

1.2.1. Phan ctrng diS hoa

1.2.2. Sv ket n6i giiramay tfnh va cac thiet bi hien thi 1.2·.3. Cae thi€t bi hard copy

1.2.4. Bang tra mau

15 18 18

20 22 26

Chuang 2. Chuyen d6i phan hlnh

28

2~ 1. Gi6i thieu

ill

2.2. Chuyen d6iphAn hinh m¢t di~m

2.3. Chuyen d6i phan hinh m¢t doan thing Bai t~p

2.4. Chuyen d6i phan hlnh dtrong tron

Bai t~p

2.5. Chuyen d6i phan hlnh elip

2.6. Chuyen d6i phan hlnh cung va hlnh quat

28 29 29 36 37 44

,F'"

44

., 49

6

" "'" ~ it' I

NHAP MON DO HOA MA Y TINH

• •

2.7. Chuyen dcSi phan hlnh mot hinh chit nhat 2.8. T6 mau mien kin

2.9. Phep chuyen kh6i bit

2.1 O. Hieu ang cua chuyen d5i hinh hoc hai chieu

51 52 60 62

Chuang 3. Cac phep chuyen d6i hmh hoc hai chieu



65

361. Gioi thieu 65



3.2. Cac phep chuyen d6i hlnh h9C 66

....

3.2.1. Phep tinh tien 66

3.2.2. Phep quay quanh g6e 68

3.2.3. Co dan d6i vdi g6c 68

I

3.2.4. Lay d6i xii'ng qua mot true 69

3.2.5. Phep chuyen d6i hinh hoc nghich dao 70

3.3. H~ toa dl) thuan nhat va rna tran bieu dii!n cac phep

chuyen d5i hlnh h9C hai chieu 70

3.4. Phep. chuyen deli toa dt) 73

3.4. 1. Phep tinh tien 73

3.4.2. Phep quay quanh goc 74

, •

3.5.4. ·Cae phep chuyen d6i klt hop t6ng quat

74 75 75

76 76 76 77 78

3.4.3. Co dan d6i v6:i g6c

..

3.4.4. Lay d6i xirng qua mot true

3.4.5. Cac phep chuyen d6i ngiroc 3.5. Ket hop cac phep chuyen d6i 3.5.1. Ket hop hai phep tinh tien

. 3.5.2. Ket hop hai phep quay quanh g6c

3.5.3. Ket hop hai phep co dan

MUCLUC

. ..

7

3.6. Phepchuyen d6i quan sat hai chieu va cat hinh 3.6.1. Chuyen d6i quan sat

3.6.2. Cat xen va che,

Bai t~p

79 - 80 82 91

Chuang 4. Cac phep chuyen doi ba chieu



95

..

. 4. 1. Gioi thieu

..

4.2. H~ toa d¢ tay trai va h~ toa dl) tay phai 4.3. Cac phep chuyen ddi hinh hoc

4.3. 1. Phep tinh tien

4.3.2. Phep co dan

4.3.3. Phep quay

4.4. Cac phep chuyen d6i toa d¢

4.5. Cac phep chuyen ddi ket hop 4.5.1. Phep quay quanh mot tC\}C

95 95 96 97 98 99

100 102 102

4.5.2. Xac dinh vi trf ciia cac doan thang qua phep chuyen d6i.l07

Bai t~p 111

Chuang 5. Quan sat trong khong gian ba chieu 118

5. 1. Giai thieu 118

..

5.2. Phep chuyen ph6i canh 120

5.2.1. Cac nguyen tac co ban 120

5.2.2. M6 ta toan hoc cua phep chieu phoi canh 122

5.2.3. Truong hop d~c biet cua phep chieu ph6i canh 126

5.3. Phep chieu song song 127

5.4. Truong hop t6ng quat cua phep chieu ph6i canh va song song 131



, ,

.A, ..... ~ ",

NHAP MON DO HOA MAY TINH

• •

? +

5.4.1. Mat phang chieu song song voi ml)t trong ba mat

phang chinh 131

5.4.2". Mat phang chieu b6t ky 133

5.5. Quan sat trong khong gian ba chieu 138

5.5.1. Xac dinh m~t phang chieu 139

,

?

5.5.2. H~ toa dl) mat phang quan sat 139

5.5.3. Xac dinh khung nhin l~p th~ 140

5.6. Cat 141

. 5.6.1. Cat voi mot khung nhin l~p the gi6i han 141

5.6.2. Thuat toan cat 142



5.6.3. Cac ky thuat cat 5.7. Chuyen d6i quan sat

.

5.7.1. T9a d¢ quan sat chuan hoa

?

5.7.2. Mat phang chieu HI. man hlnh

5.7.3. Bieu dien qua trlnh quan sat ba chieu ..

Bai t~p

142 147 147 148 148 149



Chuang 6. Mel blob dU(rng cong

159

6.2. Duong cong bac ba tham s6 6 .. 2.1. Truong hop tdng quat

6.2.2. Sl} lien t1~C gifra cac doan dirong cong 6.2.3. M6i quan he} giii'a cac rang buoc

6.3. Duo-ng cong Bezier 6.3 .. 1. Dinh nghia 6.3~2. Dac diem



159 160 162 164 165 167 167 168"

6.1. Gioi thieu

oil

MlJ(~·LlJ(~ 9

. ..

6.3.3. Tinh toan cac rna tran cua dirong cong 168

6~3A4. Thuat toan de Casteljau 169

6.4. Duong cong Ball 170

6.4.1. Dinh nghia 170

6.4.2. Dac diem 170



6.5. Duong cong Hermite 170

6.5.1 Dinh nghia 170

6.5.2. Dac di~m 171

...

6 .. 5.3. Tinh toan rna tran ca sCI Hermite 172

....

6.6. B.Spline khong phan thuc deu 173

6.7. B. Spline kh6ng phan thuc, kh6ng deu 177

6.8. Cac doan duong cong da thirc bac ba phan thuc khong deu 180

6.9. So sanh cac dirong cong hac ba 181

Bai tap .. ,~ 183

Chuung 7. Me) hinh be mat 187

7.1. Be mat da giac 187

7 .1.1. Bi~u di~n lucri da giac 188

....

7 .1.2. Phuong trinh mat phang 191

7 .2. B~ mat hac hai 193

... ..

...

193 194 195 196 197 198

7 .2· .. 1. Hinh cau

7 .2.2. Ellipsoid

7.2.3. Hinh xuyen 7.2.4. Be mat tron xoay

7 .3. B~ mat c6 quy luat

7 .4. Be mat bac ba Hermite

t •

'II

10

,.,., A ,::.

NHAP MaN DO HOA MAy TiNH

• •

7 .6. Ghep n6i cac b~ mat bac ba 7.7_ Phap tuyen v6'i mat phang 7.8. K€t luan



Chuung 8. Xac dinh be mat nhm thay

8 .. 1. Phan loai cac thuat toan

.. .

8.2. Xac dinh mat sau

.. .

8.3. Giai thuat vung dem chieu sau 8.4. Giai thuat dua tren dong quet 8.5. Giai thuat nguoi hoa sl

8.6. Giai thuat chia vung

8.7. Ket luan

..

Bai tap

C huang 9.. Mall sac va chien sang

9.1 .. Mall sac va cac rna hinh rnau

9.1.1. Mo hinh mao RGB 9.1.2~ Mo hinh mau CMY 9.1.3. M6 hinh mall HSV 9~ 1.4~ Mo hinh mau HSI

",.

9.2. Anh sang

9.2.1. Sv t6ng hop anh sang 9.2.2. Tao bong phang · 9.2.3. Cac rna hinh anh sang

200 201 203 203 203

206

206 207 208 212 216 218 221 211

223

223 224 225 226 227

230 230 230 232

MlJC~ LlJC~

. ..

11

9.3. Tao bong vat the ba chieu 9.3.1 .. Cac mo hlnh tao bong 9.3.2. T~o bong phang 9.3.3. Tao bong min

235 236 237 238

9.3.4. Bai toan to mall cho da giac 16i theo rna hinh tao bong 243 9 .. 3 .. 5. Be mat texture 248

..

Phu luc 1. Cac co sa toan hoc 253

• • •

Phu luc 2. Cac doan ma chuang trmh Minh hoa cac thuat

toan trmh bay 261

Tai lieu tham khdo 270

I

..

+

t

J "

.,

- I

...

. I

. ,.

I~.

"

; i

....

l'

Chuang 1

GIOI THIEU VE eo HOA MAy TiNH

.. .

Dau nhirng nam 1980, may tfnh chi dung trong cac Iinh vue chuyen mon hoa. Sau d6 may Huh ca nhan fa dai duoc xay dung voi ch€ d¢ hit!n thi de) hoa di~m anh cua Xerox va tiep theo n6 duoc san xuat hang loat voi gin thanh re nhu Apple Macintosh va IBM pc. Viec sit dung ch€ dl? . bitmap trong tuong tac giira nguoi va may tinh tro thanh ph6 bien han.

o

Bitmap 1ft anh bQ nho, trong do cac bit 0 va 1 13. dai dien cho mot kh6i

cua day cac diem (pixel. hay pels, viet uit cua "picture element") tren

Ulan hinh. Db hoa str dung bitmap eo giao dien thuan tien cho phep moi ngiroi sit dung may tinh m(lt each dan gian v6i gia thanh re, nhu bang . tinh, ch€ ban dien tu ...

Ngay nay khai niern "Desktop" duoc phd bien vci viec thiet l~p mQt khoang khong gian tren man hinh. C6 nghia la tren mot cira s6 chfnh (Window manager), ngucri sir dung co th~ tao ra, xac dinh vi tri, thay d6i kich thiroc cac vung hlnh chit nhat tren man hlnh goi la cac cira s6 con. N6 co vai tro nhu mOt thiet bi dAu cu6i cho d6 hoa ao mbi khi chay chuang trinh. Phuong phap nay cho phep nguoi dung co th~ lam duoc nhieu heat d¢ng bang each sir dung chuot, Vi~c dieu khien thao tac cua d6i nrong bang each "tro va bam" (pointing & click) thay the each go l~nh a h~ dieu hanh trudc. VI vay ngtroi dung c6 the kich hoat chirong

.

trinh bang each chon cac bi~u tirong hay sii dung cac menu. Tom lai, d6

hoa may tinh Ia t~t ca nhtrng gl lien quan t6i viec t6ng hop cac hlnh anh cua d6i tuong thuc hay ao tren may tinh. Ta sir dung rit nhieu ling dung cua d6 hoa may tinh trong cac c6ng viec thirong ngay nhu cac chireng

.. .

14

NHA.p MON 1)0 HOA MAy T1NH

. .

trinh quang cao tren v() tuyen, bit!u di~n du bao thai ti€t hoac tro choi dien tir. Df) hoa may tinh da eo nhftng y nghia quan trong VI n6 Ia moi tnrong trung gian d~ giao ti€p giua con nguoi va may tinh hoi mat nguoi cam nhan thong tin bang dIS thi, hlnh anh nhanh han cac bang s6 lieu hoac cac tai lieu van ban.

• •

Nhiing uu dilm ctia tuang lac dO hoa

Ngay nay) hau het cac chuang trlnh (soan thdo, bang tinh) sir dung d6 hoa trong giao dien voi ngiroi dung. Sir phat trien cua d6 hoa may tinh ngay nay cang rong rai voi cac che d¢ d6 hoa 2 chieu (2D) va 3 chieu (3D), va cao han, no phuc V1:1 trong cac Iinh vue xa hoi khac nhau nhu khoa hoc, giao due, y hoc, ky thuat, thuong mai va giai trf, Che' d¢ d6 hoa Ia mot trong nhieu each giao tiep cua may tinh, tir khi cac tinh nang anh 2D, 3D phat trien cao cho phep chung ta xu ly cac di! Iieu anh mot each nhanh chong va hieu qua.D6 hoa may tfnh thuc su quail .trong trong viec tao ra cac hinh anh tir khi phat minh fa tivi va may anh, n6 nhan manh nhirng uu diem ding bang may tinh chung ta co the tao duoc kh6ng nhfrng hinh anh cua th€ gicri thirc (real world) rna con ca nhiing vat trim nrong va cac anh t6ng hop. Them nira, chung ta khong dung lai a nhirng anh tinh, mac du anh tinh la each truyen dit lieu t61, nhung nhirng anh dQng tham chi con t6t han VI no mang lai nhieu thong tin hon, mot anh dong bang hang nghln anh tinh. Do d6, xem phim dong thich thu han xem cac anh rieng biet. Sir dung anh d(1ng rat hieu qua khi ngirci dung co th~ dieu khien phim heat hinh bang each thay d6i toe dO, chia cac anh, cac m6i lien quan giiia cac canh phong.

V oi anh d9ng~ d6i ttrong co th~ chuyen dong va xoay tron, nguoi dung co th~ xem duoc d6i nrong l:J moi goc d9, co th~ ph6ng to hay' thu nho then y minh, hay co th~ nhin vao phan ben trong cua d6i tirong vai su di chuyen cua camera. N6 co th~ con thay d6i duoc hinh dang, mau sac, va cac thuoc tinh khac hay tao ra mot tht! gioi ao (virtual world). V6'i hieu qua ngay cang cao, d6 hoa co the tao ra nhirng ket qua hay san pham co chat hrong cao 'hem va chinh xac han, nang suat han, va giam chi phi thiet ke.

(~HUONG 1. oror THI~lrJ vB DO HOA MAy TiNH

. .

15

1.1. cAe U'NG DUNG eVA n6 HOA MA. Y TiN"

~ .

Ngay nay d6 hoa may tinh diroc ung dung trong rat nhieu Iinh vue xa h¢i khac nhau nhir khoa hoc, giao due, y hoc, ky thuat, thuong mai va giai tri, Danh sach cac irng dung cua d6 hoa ngay cang nhieu va phat trien nhanh cung v6'i cac tinh nang cua n6. Ban dAu d6 hoa may tinh hien thi dii lieu bang thiet bi sao chep ctrng va man hlnh CRT. N6 phat tri~n cling voi viec sang tao, hru tnr, thao tac va dieu khien hlnh anh d6i nrong, Dei hoa may tinh duqc phat trien nhanh chong, nguoi sir dung co th~ kiern soat diroc noi dung, cau true, hien thi cac d6i nrong va hinh anh cua chung bang cac thiet bi vao nhir ban phim, chuot, cira 86 cam tinh ...

• Hi) trQ' thiet k€ (CAD/CAM)

H6 tro thie't k€ duoc xem nhu mot ung dung chinh cua d6 hoa tuong tac d6i nrong kh6ng gian, trong d6 d6i tirong duoc xay dung tnrc tiep nhir 1ft mo hinh thiet ke. D6 hoa may tinh duoc ung dung trong viec tltiet k€ "'cac thanh phan va h¢ thong co khi, dien, cac thiet bi dien tic, xay dung, thiet ke than 6to, than may bay va tall thuy, chip giao dien rong, h¢ thong cap quang, mang dien thoai va may tinh ... Nhfrng phan lien quan den thiet kt! va ve duoc thirc hien true tiep tren man hinh nho nhirng c6ng cu tro gi6p dti hoa. D~u tien cac d6i ttrong diroc hien thi du6i dang

. cac phac thao cua phan khung. Mot khi cac chieu cua d6i urong da duoc xac dinh trong may tinh, ngiroi thiet k€ co the xem pat ky phfa nao cua d6i tuong. Sit dung ky thuat nay, nguci thiet k~ se dt! dang nhan thay ngay cac thay d6i cua d6i tirong khi tien hanh hieu chinh cac chi tiet hay thay d6i g6c nhin. Khi da thiet ke' xong phan khung cua d6i tuong, cac

, .

rno hlnh chieu sang, t() mall va tao bong be mat se diroc ket hop de tao ra

ket.qua cu6i cung rat glin vci the! gioi thuc .

• Giao dien ngum may

Hall h~t cac tmg dung chay tren may tinh eel nhan, tram lam viec hay

. . .

mang may tfnh deu c6 giao dien voi ngiroi dung .dira vao viec dung h¢

thongcira s5.d~ quan 19 cac hoat d¢ng dien ra ddng thai va cac d~i tuong tren manhlnh. Hftu(h~t ta:t ea cac ung dung .chay tren may tinhdeu co

..

I_

16

~ MON 00 HQA MAy TfNH

giao dien gitip ta co the de dang.rno phong cac hoat dOng, chi hoac nhan chuot d~ lira chon cac muc tren menu, bi~~ urong va cac d6i tirong tren man hlnh hay nhap van ban. Giao dien d6 hoa thirc SlJ itt mot cuoc each mang mang lai s\l thuan tien va thoai mai eho ngtroi dung tmg dung. Cac ung dung dua tren h¢ dieu hanh MS Windows la mot minh hoa rat true quan ciia giao dien d6 hoa. Cac chirc nang ella 'cae irng dung nay duoc thiet ke- cho nguoi dung lam viec thong qua cac bieu tuong mo t3. chtrc nang do,

VI du, chirc nang hru t~p tin duoc hi~u thong qua bieu ttrong rna mern, chirc nang in ~n diroc hic!u thong qua bieu tirong may in, ... D~ chon cac chuc nang, ngiroi dung sil dung chuot tTO den va nhan vao cac bi~u tuong tirong (tng. Di~m thuan 19i chinh khi dung bieu tuong HI. kich thirrrc kh6ng gian rna no chiem It hem nhieu so voi dung van ban d~ mo tll cho cung mot chirc nang. Ngoai ra, viec nam b&.t cac clurc nang qua cac bi~u tuong se de dang han rat nhieu khi nguoi dung g~p tra ngai v~ mat ngon ngu. Cac irng dung co giao dien d6 hoa con cho phep ngiroi

~ .

dung kha nang lam viec dt! dang voi nhieu ella s6 voi nhieu dang tai lieu

khac nhau cung m¢t hie.

• Bi~u di~n thong tin

.

Day la cac trng dung sit dung d6 hoa may tinh d~ phat sinh cac bieu

db, db thi minh hoa m6i quan h~ giira nhieu d6i nrong v6i nhau trong kinh doanh, trong khoa hoc ky thuat, Cac trng dung nay thucng duoc dung de tom lucc cac dir lieu ve tai chinh, thong k~, kinh te, khoa hQC, loan hQC, •.• giup cho viec nghien cuu, quan If mot each c6 hieu qua. Td't ca d~u duoc trlnh bay dep, ngan gon, d~ sa dung. Trong thuong mai, d6 hoa may tinh dung d~ tao ra nhii'ng hinh anh gay A'n tirong va thu hut s\! chu y~ Cac may tinh eel nhan, dien thoai va video a nhfrng noi cong cong nhu bao tang, cac nut giao thong, sieu thi, khach san va ngay ca 0 nha rieng d~ huang dAn khach, dira fa S,! hra chon, tham chi mua han qua

,; ;' h may tin ......

• Giai trt, ngh~ thuat

D6i voi cac nha hoa si, tao mau, nhirrrg chuang trlnh d6 hoa may tinh HI. 'mot cong cu tro giiip het srrc dflc hrc, VI du nhu PainrShop Pro,

I.. . ...

.• _- .'1". - • . _ . . .. • . __

(~HU(_)N(.i 1. (jIOI rnrsu vB DO HOA MAy TiNH

. .

17

Adobe Photoshop, 3D Studio, Corelfrraw.i. d5 giiip ho thiet ke cac hinh anh song dOng va chan thuc. V oi cac chuong trlnh nay, nguCti, hoa sl



duoc n13Y tfnh tao cho cam giac y nhu dang lam viec ngoai dai thuc '

bang each cung cap cac cong cu nhu khung ve, gia ve, bang pha mau, cac hieu trng ba chieu, ... lam eho ho earn thay rd't thoai mai va tien I'lL

I

N goai ra d6 hoa may tinh con giiip tao fa cac chuong trlnh tro choi,

giai trf; h6 tro cho cac ky xao dien anh, eho cac nha lam phim, C6 nhieu hq phim rat n6i tieng nha van kyxao dien anh nhir: Cong vien Khimg long ki Jura (Jurassic Park), Titanic, The gi&i mroc (Water World), Xac

trap Ai Cap ...

• (;iao duc va dao tao





C6 th~ dung de, hoa d~ nghien CUll cac thuc th~ trim nrong, mo phong cau true cua cac vat the, tiEn trlnh cua cac phan ang hoa hoc trong chat long, cua hat nhan va cac phan ii'ng hoa hoc, h~ th6ng sinh 19, hoat dong cua cac g6i tin tren mang may tfnh, ... duoc dung rfit nhieu trong vice h6 tro giang day. Trang dao tao, cac ung dung m6 phong duoc dung, dti ki~m tra trinh dq nguai lai, huan luyen phi cong, dieu khien giao

. thong, ...

• Tu dQng hoa van phong va in an di~n til

Trongtu dOng hoa van phong va in ffn dien ttt c6 the tao fa cac van han dien nr va cac van han sao chcp cling nhu tai lieu, bang bi~u, d6 hoa, cac hinh ve va cac hinh anh. V oi h~ thong hypermedia con cho phep tai nhiing van han multimedia tir tren mang.

• Ban do hoc

I •

D6 hoa IlUlY tfnh duoc str dung de dua fa sCI d6 v~ V! trf dia 1y va cac hien urong tu nhien mQt each chfnh xac ttt nhirng s6 lieu do ducc. Vi du nhu han d6 dia ly, han de; thai tiet, ban d6 rna! d(> dan s6, ban d6 khai thac cho viec khoan va khai mo, bi~u d6 hili duan!!. hQc ...

THU VIEN tlH.DAN LAP HP.

• •

PHONGf.)OC



.. ' ' .. NJIAl) MO.N D<~) ~I( )/\ MAy TfN~1

. ~

1.2. TONG QUAN V~ MOT H¢ 1)6 HO~ MA. Y ~riNH "

~

. .

1.2.1. Phan cling do hua

Til xa xua, may tiuh chi la van ban va cac thiet hi dua tren s6 va thuong doi hoi nhung phan ctrng rat dat tien cho viec hien thi anh, cho viec ve hlnh va tuong lac voi nguCti sil dung. Khi d5 hoa may tinh trb Ben

. '

quan trong va tro thanh mot trng dung cua may tinh thi phancirng cling

t[(1 thanh mot phan trong cac thiet bi tinh toan chuan, Cling vai SlJ phat tri~n nhu vay, phan cung cling diroc xay dung ket hop vai d6 hoa may tinh. Ph~n nay se trlnh bay cac thi€t bi d~ tao ra anh va se diroc chia lam hai loai: cac thief hi hien th] (display devices), d~ hien thi anh cho ngl.1ai sir dung va cac thiet hi ve (plotting devices).

(lac tl,iel hi hien thi: hiln thi raster

I ... •

C,lC thiet hi hien thi ngay nay 13. dan V! hien th] true quan (V isunl Display Unit: VDU) cua ht} hien thi raster, mac du tnrrrc kia hi~n th]

vector cfing quan trong trong CAD. Anh hien thi then cong nghc hien thi raster la cac duong raster flam ngang, I116i mot dirong Hl nl<)t hang gam nhieu pixel (diem anh) rieng biet. He; hien thi raster hru trl! duai dang rna tran cac (tiem anh bieu di~n roan h{) man hlnh. Toan h6 man hinh

A • ~

dUQ'C quct Ian IU\'t bbi b¢ dieu khi~n video, then tung duo-ng quct mot. -tit tren xuong duoi. Tai m6i mot di6rn anh, cirong dO cua cac tia dien tv ch inh Ih cltang dQ ella di~m anh tai vi trf do.

R() hi~n thi nhan thong tin v6 cac diem anh ur vung nh.r hien thi.

PhU(111g phap thong thuong de luu trii' rna tran gia tri cuong 00 cua cac di~m anh 1a luu trong vimg nhc dem iframe bl{tfer). Trong tnrong hop don gian, voi anh don sac, m6i mot di8n1 anh duoc bieu dien bbi mot bit trong vung I1h{)' dt;n1, 0 hieu dien mau den va 1 13. trang (hoac nF voc Iai), Voi anh da rmrc xam, can eo nhieu bit hen cho n19t dit!m anh. Chang han, 4 hit cho mOl di~m anh (4 hits per pixel) se eho phep hi~u dien 24 =

16, va 8 bit cho 111(>t diem anh se cho phcp bieu dien 28 :::" 25~ mau hoac mire xarn, 16 rnau du di phan bict cac thanh phan khac nhau tren man hinh. Khi tao ra anh co sac thai nhc han doi hoi 256 mau, thuong chon

~ .

til bang mau (palette) rna rong. M6i mot sung dien tu red (do), green

(luc), blue (lam) co th~ hi~u di~n 256 mire, nhir vay co th~ cho 16 trieu

. .

I • L JI I

mall khac nhau,

19

---- --------_---------- --- ....---------------

Cac h9 hicn th] raster dac trung co d¢ phan giai 1024 x 1024, va thuong ia X-hit/pixeL Nhu vay, vimg nhd dern co 8 x ·1024 x 1 024 bit hoac 1 megabit. Trong nhirng Ham gall day, v<.1i S\! phat t.ri~n cua cac chip han d~n v6 gia thanh cling nhu chat hrong. cac thiet hi raster ngay cang ph6 bien trong cac (eng dung CAD.

It -

_ e

e e •

•• • .It

--

--

--

__

eli e_



ee

_e

e

--

,,_

eli

e.

_ It

• - e e

e It ee

_e e. e ••

Hlnh 1.1. St,r khong chiuh xac ella 11i~ll thi raster ..

I

Ctu: thiet hi Iliin thi .. Ili~n thi vector

• • •

C6 hai loai thjet hi 11i~11 th i vector:

~ ~ .

Direct view storage tube l)VST hoac 6ng luu va hien th] lam tuoi vector (vector refresh). Cac duong thfing. khi hien thi khong co hieu trng bac thang nhu khi nhin tren cac thiet hi hien th] raster, nhung DSVT Hi cac thiet b]. tL!<1llg phan thap va noi chung khi~)ng co kha nang loai bo cac

"

lua Ch~'''l.Anh duoc duy trl tren man hlnh lau, Nguoc lai, man hlnh lam

tucri vector (vector refresh CRT), tii thi~t bi vector trong d6 cac vector ella anh ducc ve lai lien rue hoac lam nroi tren man hlnh, cho ta d() urong phan t6t~ co kha nang thao tac dong t6t nhung gia thanh cao.

·to

20

NHAP MON DO HOA MA y TfNH

• •

1.2.2. Sl! ket noi giua may tinh va cac thiet bi hien thi

.. ..

Trang nhieu nam, CAD sir dung cac thiet b! dau cu6i k€t n6i voi may tinh trung tamvtrong do tai nguyen cua may tinh trung tam thuong ducc chia se giiia mot vai thitt bi dfiu cudi. Trong nhieu trtrong hop, toe d(1 giao tiep giira thiet bi dau cu6i va may tinh trung tam bi giai han boi dac tinh cua h? thong, lam han ch€ kha nang tfnh toan cua cac may tinh C\}C bt) anh hUbng tci dieu khitin tirong tac d6 hoa v6i nguci su dung, Ng ay nay, phan 16'n may tinh diroc su dung phan tan, trong do m6i mot nguci si't dung dau cudi eli 019t may tfnh rieng. N6 thuong la may tfnh ca nhan, va cac may tram lam viec (workstation) co c6ng nghe hi~n thi cao, trong d6 bao gom b¢ xU 19 trung tarn (CPU) Hl chfnh va kho lUU trii' tro giup ket hop vai don vi hi~n thi don. Thtrong thl ciing c6 them cac dan vi xu ly hi€n thi (DPU) d~ giai quyet voi .cac tinh toan phuc tap trong d6 hoa, T6 chirc cua mot may tram duoc chi ra trong hlnh 1.2. Cac may tram tang len, cac may tfnh ca nhan dtroc ket n6i voi nhau eho phep chuyen dt)i dir lieu, chuang trinh va chia se cac thiet hi ngoai vi qua rnang, nhu trong hlnh 1.3.

Mgt tram lam viec dan khong phai hie nao cling phil hop voi Hit ca cac cong viec cua CAD. Nguoi sir dung co th8 mu6n lam viec tren may tinh Ian cho cac viec phan tich tfnh toan Ian va bieu dien ket qua tai may tram. Nhu vay, mang eli th8 co cac may tinh Ian cung cap tai nguyen hru tru va kha nang tinh toan cho cac may tram khac, D~ dap ling cho cong vice nayvrno hinh may tram - may chu (client-server) duoc phat trien, trong do tien trinh may chu (server process) cung cap mot vai dich vu

'l

cho cac tien trinh may tram rieng (client process). Chang han, trong d6

hoa may tinh, mot tien trlnh may chu co th~ bi~u dien anh va xir Iy cac nrong tac thay cho may tram. May tram va may chu c6 the 13. hai tien trinh thuc hien tren cung mot tram lam viec, hoac thuc hien tren cac may tinh khac nhau trong cung mot mang. Tien trlnh may chu nhan duoc cac thong bao hoac yeu cau (requests) tit cac tien trinh may tram qua m~ng,

?

sau d6 giri lai cac thong bao rna tlL stJ kien hoac ket qua (events), chang

han 13. ket qua tu nrong tac nguoi Slr dung t6'i may tram. Kh6i hrong thong tin nIt 16n duoc gui di qua mang va kh6 khan d day la lam sao d6ng b¢ hoa giiia bieu dien va tuong tac nguoi sir dung. Tuy nhien, d6 Ih phuong thirc lam viec chuan trong cac ling dung dua tren tram lam viec.

(_~HU(.jN(i I. (~jI()I TliIElJ vB D() H()A MAy TINI-I

. ...

21

Man hinh

Ban phlrn

Display

BO xu l}r hi~n th!

so nho

B¢ xu Iy trung tam

Hrnh 1.2. TO chirc ella 111<)t may tram.

May in

Mayve

M(l Y tr ()1 11

Hinh 1.3. Mang C1:lC bo.

Trong ttrong lai, cac tram Him viec se dtroc phat trien d~ tang kha nang xir 19 va hien th]. Nhtt vay cac ham do hoa co tht! thuc hien voi thai gian thuc ngay ca voi nhitng rna hinh phirc tap, M9t huang phat tri8n

22

',... 140· J: ...".

NHAP MON DC) l-I()A MAY TINH

. ..

khac nffaIa tang d9 phan giai cua man hinh d~ giai quy~t nhirng han ch€ cua cac thiet hi hien thi hien tai voi ky thuat hi~n thi bang ve truyen thong. M¢t khuynh huang nua la phat tri~n kh:i nang bien thi cac hinh anh 3 chieu an. Hien tai nhfrng thiet hi do diroc phat tri~n hoac sir dung cac anh v6i mau khac nhau, hoac m~t phang phan eire diroc nhln qua loai kinh dac hi¢t. hoac sir dung guong rung d~ tao ra hinh anh 3 chieu bang each thay d5i tieu diem.

1.2.3. Cac thiet bi hard copy

Thuat Ilgu hard copy sao chep cling diroc sil' dung trong db hoa

may tinh d~ sao chep m¢t anh sang cac thict bi thuong xuyen hoac ban thuong xuyen, chang han nlur gi&y, giA'y anh hoac phim. Co nhieu each de sao chep cirng trong d6 hoa may tinh. Phuong phap quan trong nhat thuong hay sir dung trong cac thiet hi in diroc chia thanh hai loai: vector

'-

va raster.

May ve vecto

May ve Vcct« (Vector plotters) nrong ttl nhu khi hien th! vecto, dung de tao ra anh tit viec ve bang hut cac doan thllng tren gia:y hoac phim, hoac bang each di chuyen cac chum tia sang quet tren phim nhii ttrong (goi la photo plotter), May ve hut cho phep dung dang nhieu but d~ tao nen cac duong co d() day hoac mau khac nhau. Loai may ve nay thuong cho anh dgu ra chat hrong cao, nhirng kha cham va khong cho phep tao nen mot each de dang cac vung 16 mau hoac anh da cap sang. Photoplotter diroc dung cho nhirng irng dung dac bier nhu tao ra cac mat na

cho san- xuat mach ill .



May ve raster

M9t sO' thiet hi ve nhu raster-scan plotter duoc san xuat de tao fa cac sao chep cirng tren cac rna tran diem. Sir khac biet chlnh trong phuong phap nay la "in" nhirng di~m tren cac thiet bj trung gian. N6 bao g6m cac rna tran ditim sa dung su va dap ella kim tren bang mire in de tao ra dO phan giai hang tram diem tren mot hang, nhfrng thiet bi tinh dien va dua tren co sCI in laser co kha nang tao fa tir 8 den 16 diem tren mot mm

( ~I--i (_]t_} N( J 1. (i ){)I TIIIElJ VE DO H()A MAy TINH

• 4

23

(200-400 diem tren mot inch) va in duoc a khd AD hay tham chi 16'11 han. Nhirng thiet h! dang nay nhu plotter tinh di~n nhieu buoc da diroc sir dung d8 in mau tren dfiu ra co h~ r(>ng .oi 1 016 mm (40 inch).

Man hinh

Man hlnh Hl mot thiet hi hoan chinh dung d~ t~o hinh anh tren man, han g6m tat ca nhirng mach phu tro hen trong can thiet, Cau tao chinh g6nl co h() phan hicn hlnh (Monitor) va man hien th] (Display).

".., ....

Ong phong dien nr hay con goi Hi 6ng tia am cue la bt) phan chinh

cua man hinh, 6ng c6 cau tao chinh Hl mot eng thuy tinh kin chua khf tro i1 ap suat thap. MQt dau 6ng co gan sung dien tir (Electron gun), d6 Ih

eve am (cathode). Khi sung dien tir duoc d6t nang cr dien ap cao, khoang

15000 d€n 20000 y. n6 se phat ra di~n nr. Chum dien ttt se chay su6t chieu dai ong, chiu S\! dieu khi~n ella cac mach dien hen ugoai, va bi hut v€: eire duong (anode) mang dien tich duong i':J dfiu kia ella ong, d6 cuoi cling dap manh len man huynh quang phu photpho tao ra mot cham sang man hien hinh. Cac cham photpho duoc h6 tri thanh h{) ba.

. .

an, cue

olio

h~ di~u chinh

It

tieu ui~m

4 man hien hlnh

..

sling di~n til

phil photpho

Hinh 1.4~ Can lao cua man hinh .

.

Ngay sat man hien hlnh, v~ phia sung dien tiI la mot mat na che (shadow). D6 Hi mt}t tarn kim loai ducc khoan thung nhieu Ie; d~ giup

,

," . . .

NHAP· MON 1)6 BOA MAY' TfNH

• •

cactia dien tirban vaodung vi t.rf.Nhu vay, ba chum t.ia dien tit chi ban

vao mot di~m tren man hien hlnh. .'

• •

Blue

Green

Red

°0 o 0

. . 0 .-.r~

Sung dien tir

"

Mat na chan

. ..

Hinh 1.5~ SUIlg dien lU b6 tri theo kieu u1.l11 giac.

Co ba sung dien tir irng v<ri ba mau ca han la Db, Luc va Xanh lam (Red, Green, Blue). Co hai ki~u b6 tri sung dien tir: tam giac va hang 11gang ..

D6i dien voi sung, a cuoi dirong di cua chum tia dien tlr·la man hien hlnh. D6 13. mot man thuy tinh hlnh chir nhat, mat trong co quet m9t 16'p hOt photpho, hay g9i la huynh quang. Man dan s~c chi quet mt)t loai photpho nen khi d~p vao chi phat sang mot mau. Man hien hinh mau g6m nhieu cum ba di~m, Hi ba cham photpho khac loai nen phat sang theo ba mall khac nhau: Do, Luc va Xanh lam. Thay d6i cirong d¢ sang cua ba mall nay se tao ra mau bat ky.

Nhtr da: noi (1 tren, man hinh lit mot tam thuy tinh co quet photpho hen trong nen phan x~ cac ngu6n sang ben ngoai gi6ng nhu gtrong soi, gAy moi mal neu ta nhln lau,

Ph~n til nho nhat cua mot hlnh diroc hien thi la pixel hay con goi 18.

(~I-{lr(_1N(1 1. (lI(~jl THIEl J vB 00 H(~)A MAy TiNI~I

~ ~

25

di~m anh. Ct do net t.()t nhat, diem anh tren man hinh mall 13. mot cum ha

• • •

di~m photpho, m6i diem phat fa mOt mau khac nhau khi co tia dien tir

dap vao, b d9 net thap, mot di~m anh co th~ g6m vai ba di~m. Kha nang ha churn tia dien nr co the t*p trung chinh xac vao mOt di~rn anh diroc

..... ....

danh gia bang dO hl)i tv (convergence). DO hOi tu do hang milimet va

cho biet churn dien tir co th~ hi lech hal) xa tai mot khu vue cu the tren

,.. . .. ......

man hien hlnh. DO hOi tu kern rat d~ phat hien a rnep man hien hinh. Khi

do co duong vien nhieu mau sac bao quanh cac hinh anh.

Mat na ehe d5 giup cac chum tia dien tii hQi tu dung ch6. Ngoai ra con co h~ dieu chinh ti~u di~ln (system focusing) dG hieu chinh de) hOi tu. Trong qua truth may (111h hoat dOng, churn dien tv khong dung yen mot ch6 d~ chi tao 1119t di~n1 sang rna duoc lui tir rrai sang phai (quet ngang) hoac tv tren xuong du6i (quet doc) veri toc dO eve nhanh lam cho ta nhln thay roan man hinh sang len cung mOt hie, cac diem anh hien leo mau khac nhau tat) ra hinh al111 tren mall hlnh .

..

Phd bien d6i vlti cac thiet hi man hlnh la lai tia bang tir truong.

Thanh phan co ban cua h¢ phan hli tia tit truong la cac nam cham dien narn d6i dien nhau <-1 c6 CRT goi Iii cuon lai tia (Deflection Yoke). Khi cho cac xung dong dien rang etta chay vao cac cuon day nay, trong 6ng se hlnh thanh cac tir tnrong tac dung len dien til, lam cho cluing hi Iech huong chuyen dOng. Tuy loai man hlnh CRT rna viec quet ngang theo cac tg:n s6 dong khac nhau tire Ii\. s6 dong quet duoc trong m6i giay se khac nhau. Cac dong quet 15n luot diroc rai tir tren xu6ng dirci man hlnh d~ tao nen mot manh , do Hie dung cua tit truong quet doc. So manh tao nen trong n16i gifty d6ng hli gqi 13. Hin sO' manh (Vertical frequency) hay tlll1 sO' quet dung, thuong duoc bi8u dien bang Hz. Tan 86 quet manh U\

.

mot yeu t6quan trong d~ danh gia man hinh. N8"u tan s6 manh diroi 70 Hz eo the gay ra hien nrong rung gi~t hlnh (flicker) d~c biet la trong moi tnrong chieu sang cua den huynh quang, lam nhirc mat va dau daucho ngti'b'i dung.

I •

..

..

26

NHA.P MC)N DO HOA MAvTiNH

• 4

00 p~an giai In 019t chi lieu rat quan trong VI 06 cho biet d¢ sac net Ina 111Qt man hinh hi~n thi co thti bi~u - hien dUC1C cac chi tiet CUd hinh

oil •

anh. Thong thirong dQ phan giai duoc bieu h i¢n bang s6 hrong cac die01

anh, vf du "'dO phan giai 800 x 600" co nghia lit man hinh co the hiC;n thi

+

diroc Ron di~m anh theo chieu ngang va 600 di6m ann then chieu doc .



(long quet

~ ~~---

.... ~---- ....

.... . -~

- - ,...,...,.. .... -

1- _, ~~

..... -----

...... ----

~--

_- ....

._. ~ ~._. ....

_... ,..

:c:: _ .... '*"

...... ......-.-. .... -

---~

------ .... ~

rde ~

.. .... __ lilt

--~-

--- .....

.... _............ ...

-- ......

--~- ,

Hinh 1.6. Dong quet ella raster

..

..

D6i V(li 1113n hinh mau hoat dOng b d() phan giai cao nhat thl·di8m anh la mot cum ha di6m photpho mau co han. Sung dien nr se ban tia dien t11 vao dung 1119t di~nl photpho rhich hop cua no, lam phat sang cum ba nay vai dO sang nan day, tao nen mot di~nl anh co mau chinh xac. MOt dai lU(.ll1g do khac rat quan tr9ng d6i vai sac net cua man hlnh Hi buoc cham (dot pitch). Bu(te cham Ia khoang each ella cac di8m anh tfnh

theo milimet. Thong thirong cac hUc1C cham cua cac man hinh la 0, 19n1m; O .. 2~hnm; 1.~ 1 mm. RUGe cham cang nho thl cac di~m anh cang sit nhau va (to net cua hlnh ding cao. Nhu vay ha yeu to' quan trong quyet dinh (_t() sac net cua hinh anh Hi: kich thuric mao hlnh, de) phan

~iai va burrc cham.

1.2.4. Bang tra mau (Look Up Table)

R0 dieu khien video cua h¢ hi6n th] raster thtrirng kern thee bang tra luau (LUT). Bang tra mall co nhieu cong vao nrong rrng voi nhieu di~nl anh, M6i gia tri ella di~m anh khong dung d~ dieu khien true tiep cac tia dien til n13 chi so sang hang tra mau. Gia tri d~u vao cua bang dung de dieu khien cuang dO hoac rnau cua man hinh, Diem anh co gia tri 33 se co nOi dung luang ung trong LUT voi c6ng VaG 33 va dung de dieu khien



(~HU(jN(J I. (~-jI()1 TIIIElJ VE i)() H()A MAy TfNH

. .

27

cac tia dien tit cua man hlnh. Hoat dQng cua hang tim ki\~':-l nay Hun viec cho tTI6i diem anh trong m6i chu ky hi~1l thi, do do bang oh.: i dur ..• ,' '-: uy nhap nhanh chong.

Trong hlnh 1-7 LUT CJ giua vung nha d~ln (fr.nn« :'}'''~I'/~''_~ v.. !;!:lil hinh. Vimg nh(1 dem ell H hit cho D'}0t dl-,5nl anh (8 bit : t ., ,' •. 'i «'), do ttl) LUT Cl) 2~ = 256 llftlJ Val) .



1<

-~ . _--- --- ...
• (, ,
, ...
.I. F' - - Dic.ll mh hie
j_~. B
....
\ th ~ tai x ~ , y~

1 I ()( 11 1010 0001 II

Red Green Rlu~ • 00 I 0000 I ] ...... --- .........

Vung nho dem

llwl" 1 ra IHil u

e

Man hlnh

Hinh 1~7~ 1~6 clurc ella bang tra mau,

Hlnh 1- 7 bi6u dj~n t6 clurc cua bang tra mau. Di~m anh c6 gia rri 33 (gia tr] nhi phan 001 nooo 1) duoc hi~u dien tren man hinh v6i tia dien tir mau do bang 9/15 gia tri Ian nhat, mau luc hang -1 0/15 gia tri Ian nhat va mau xanh da troi bang 1/15 gia trj 16n nhar. Bang tra mau nay c6 12 bit.

Bang tra mau chi- co.y nghia d6i vai che de> dIS hoa 256 mau vi sCl

?

thanh ghi t6i. da ella bang tramau la 256. Anh Ion hen 256 mau thl gia

tri mau cua di~m anh dugc anh xa true ti~p khong .thong qua bang tra.

, .

.'

28

NHAP MON DO ROA MAy TINH

• •



Chirong 2

~ .,l A "

CHUYEN eOI PHAN HINH

2.1. GIOI THIEU



Cae mach video dfiu ra cua may tfnh co kha nang chuyen cac gia tri nhi phan luu trong hQ nho hien thi thanh cac thong tin ve cac diem anh (On / Of1). Thong tin ve cac di~m anh nay duoc sit dung trong thiet hi dAu ra raster (thong thuimg la mot lucri dang diem) de bieu dien mot di~m. Kha nang nay cho phep may tinh bieu dien cac mo hinh la tap hop

ella cac di~m roi rae .

..

Hau het cac rno hinh duoc tao fa voi mat d¢ rna tran diem phu hQ'p va con ngtriri thuong thao tac vrri cac d6i nrong d6 hoa phirc tap hen nhu di~m, doan th~ng, dui'1ng tron va clip. Tir khi Iinh vue d6ho~ may tinh bat dau, rat nhieu rhuat loan da diroc dua ra d~ cung cap cho ngiroi sir dung ve uk dO va kha nang ciia b¢ nho rna co the tao ra cac d6i ttrong mire cao. Tuynhien, may tfnh c6 th~.t~o ra anh tren cac thiet bi raster chi bang each th6 hien cac diem anh on hoac off. Qua trlnh bi~u di~n cac d6i nrong d6 hoa lien tuc nhu la t~p hop cac di~m anh rai rae va duoc g9i Ul chuyen d6i phan hinh (scan conversion).

Rilt nhieu thuat loan chuyen d6i phan hinh diroc thuc hien bang phan cirng cua n13Y tfnh hoac hang phan mern h~ th6ng. Tuy nhien, neu mot may tfnh nan do khong co diJ. phan cirng hoac phan mem h~ th6ng d~ thirc hicn m0t thuat loan chuyen d6i phan hinh thl thuat toan nay se duoc

(~Hlr(jN(] 2. C~Hl_TYEN DC)I PHAN Ht~1-I

29

thuc hien bang phan mern. Cac thirc th~ CC! sa duoc sir dung trong d6 hoa

?

Ia dirong thang, cung, hlnh clip, hlnh chtt nhat va da giac,

Trong chuang nay, gill thief rang tAf ca cac d6i nrong nam trong dirong bien cua h~ toa d¢ thief bi hien thi. Thuc t~, cdn phai ap dung phep bien d{;i quan sat tviewing transformation) d~ thuc hien n6.

2.2. CHUYEN n6I PHAN HINH MOT DIEM



M6i mot di~m anh khi hiSn thi d6 hoa khong bi~u dien toan h9C cua di~m anh do, No bieu dien mot vung rna ve ly thuyet thi V1U'lg nay chua mot s6 vo han cac diEm anh. Chuyen d6i phan hinh mot di€m bao g6m viec chieu sang cac dit!m anh trong di~m d6. Chang han, hi~n thi toa dq

cua diem P, (2 t, 1 i) va P2 (2 t, 1 t) trong hinh 2. 1 d~u Hi. bi~u dien di~m

(2, 1). T6m lai, mot di~m Pt x, y) duoc bi~u di~n bbi phan nguyen cua x va phan nguyen cua y. Do d6 co di~m anh [(INT(x), INT(y)].

,..,'J ~ /'to.... /'to .2

2.3. (:HUYEN DOl PHAN HINH MOT DOAN THANG

M0t doan thing diroc xac dinh bcri hai di€m dgu mut va mot phucng trinh. Trong hinh 2.2, hai di~m dfiu rmit 13. (xJ' Yl) va (X2' Y2). Phuong trinh cua duong thang rna ta toa d¢ x, y ella Hit ca cac di~m narn giua hai diem dau mut. SiJ dung phuong trinh ella duong thang y = mx + b trong

.

d6 m = tiy/ ~x, ta co th~ tinh dircc cac gia tri y khi ~ tang tir x = Xl t6"i

x = x.,. Co th~ hh~u dien doan thang nhu Hi mot chuoi cac diem anh bang chuyen d5i phan hinh cac ghl tri toa d¢ x. y.

Trong khi phuong phap chuyen d6i phan hlnh mot doan thang thich hop v6'i nhieu irng dung do hoa thl h~ thong d6 hoa nrcng tac qoi hoi t6c d¢eao so voi phuong phap me, tit l1 tren, D6 hoa tirong tac la h~ thong d6 hoa -manguai .su dung co the .dieu khien true tiep vi¢c bieu dien cac roo

. hlnh d6 hoa de!: hi~n th~ tren may tfnh,

, . ~

I· "

3()

NHAP MaN f)() ~I( v. MAy ~riNI·1

• 4

I » y 0' hang 1

1 2 3 4 5 6

o 1 2 ] 4 5

/

x b cOt 2



x co tea do 5

. .

Hi n h 2.1. V uug h ielt t hi () x ~ di~tll all h va hi~u dien he toa dO thiet hi ..

• .. III ..

y

h

x

.~

(i) Thuut to/in vi doan 'hung eiia Bresenham

Thuar loan ve dean thang cua Bresenham lit mot phir.rng phap co hicu qua trong viec chuyen d6i phan hlnh doan thang chi sir dung cong trir cac s6 nguyen va phep nhan. Thirc te eho thU'y rang, may tinh co th~ bi~u di~n phep cong trlt cac s6 nguyen mot each rat nhanh chong, giai quyet duoc ve mat thai gian khi bi~u dien cac phep nhan, chia cho luy thira cua 2 VI chi phai str dung cac phep dich hit.

31

----------~-------- ._-------_._-_-----_--

Thuat loan nay ttl thj sira tl6! cho phil hop khi ve uuO'ng tron va nhirng duang cong khat". Xct nl():' doan thang voi hai diem d.iu milt la (x t, Y I) va (.\"~, Y:) co (_h) d()',; nam 11 ong khoang tir 0 den 1.

Dfiu ticn, thu~t toad tang x len 1 r6i xac dinh di8m anh tiep theo hang each so sanh khoang each (til va d2) ella hai di~m anh IVa chon voi giao di6nl tlnrc ~l! rna dirong th~ng cat.

Neu d , < d2, di~nl anh tiep thea In. D (toa d9 y cua diem anh hien tai khong tang).



N C.11(1C lai , U dU(1C Cil()11 ..

",-.. ....

p,

Sau day se tlnh ell va d'), qua dirong thang co phuong trinh y = mx + h .

v

. •

.. .. +

..................................... 0·:· ""., .". , .

• •

· •

..

· •

~

..

v .k

..

• ·

: D

····················0························

Ilinh 2.3. Thuat lOa11 ve doan thang.

Giao diem cua doan th~ng v(Ji dirong th5ng dung Xk + 1 tai di6nl co

toa dQ (XIt + 1, y), trong do y = mi.x; + 1) + b. '

= 111( .. rk + 1) + b - Yk

d: :;;;;; Yk + 1 - Y = Yk + 1 - [m(xk + 1) + b J

d , - d ; = 2nl(xk + 1) - 2Yk + 2/J - 1

trong d6 m =(Y2 - Yt)/(x2 - XI)

Ne'u' xac dinh dU'qc dau cua d, - d; thi se bi~t diroc diem anh nao gan voi doan thang hon. Xac dinh tham so quyet dinh P k cung dau vfti d, - d-:

Pk = (x::: - x,)Cd, - tl2)

Do (x:: - XI) duong nell Pk se cung dau voi (dJ - dJ.

32

NHAP MON 00 H()A.MA Y TiNH

.. .

Thay (d, - d2) Ct tren vao, dtroc

Pk = 2(V2 - YI)·Yk - 2(X2 - X1)Yk + r trong do c la hang s6 d6i v6'i doan thang va

. (~ = 2(Y2 - .Yt) + ("\2 - .. r1)(2IJ - 1)

..

Tham s6 quye't dinh Pk+! tai binrc thu k +1 duoc tinh lang dan bang ca ch slr dung gia tr] P k tai btroc thii k nhu sau-:

Do .. tk+l = -'-k + 1 nell

I

Pk+1 = Pk + A - B(Yk+l - Yk)

Yk+I.-)\ la 0 hoac 1 tuy thea dfiu cua tham s6 quyet dinh Pk•

',11

Qua trlnh xay d1!ng doan thang nhu sau:

- Tinh d l va (/2

- Neu (d, - d2) < 0 thl di€;m anh tiep theo lit D

Ngiroc lai di~nl anh tiep thco la U.

- Tai m6i duang thang dung Xk doc theo dO,!11 th~ng

If r, < 0

di~nl anh tiep then 13. D

Tham s6 quyet dinh cho btroc tiep theo Pk+, ::::; Pk + A

Else

ditinl anh tiep thea la U

Tham so quyet dinh cho bu6c tiep thea la P k+1 = P k + A - 8 .

. ,

(U) Thuat toan ve doan tilling cua Bresenham (Midpoint Line Algorithm)

Thuat toan trlnh hay sau day 13. sua d6i cua phien han cua thuat toan Bresenham va tlurong diroc xet tai nhu thuat toan trung diem sinh duong

thang (Midpoint Line Algorithm).

(~I-Il rdN(-; 2~ em JYI~N I)()] PI-IAN IIINII

33

M

(x., Yi) D

(X1+l .. Yi )

Hinh 2.4. Thuat toan trung diem.

• Phuong trinh cua duong thang trong khong gian 2D diroc bi~u dien thco cong thirc dang ~n nhu sau

(2.1)

o

Viet phuong trinh duoi dang dO doc ella duong thang:

y=UYx+B dx

hieu di0n then dang 10

.. L·

dy · x - dx · y + Bdx = a

Do do (I = dy, /J = -dx, c = Bd_Y:

(2.2)

• Giii thiet rang da V6 dugc diem (x, Yi)' Tiep theo se di chuyen til' Xi tm Xi + 1.

Va":n d~ l:J day 18. phai lua chon giua hai diem anh,U (Xi + 1, Yi + 1) va

D (Xi + 1, Yi)' Do do, xet bung dienl M (Xi + 1, Yi + t). C6

d = F(M) = a (xi + 1) + b( yi + ~) + c

Neu d > 0 d<O

,

chon U

..

,

·chon D

d=O

,

chon U hoac D tuy y-, gia thi~t 1A chon U.

, .

• Khi diem tiep thea duoc chon 18. D, M tang mot don vi thea hirong

34

NHAP MON 1)0 HOA MAy TfNH

• •

, . .

x. Toa dt? cua trung di~m mdi la (Xi +2, Yi + 1-). Do d6

= a (Xi + 2)"-l-.b (Yi + t) + c

trong d6 .

d01d = F (Xi + 1, Yi + t) = a (Xi + 1) + b (yj + t) + c

Gia tri tang ciia d (ky hieu la dn) 1a

= d ,- d ld = a = dy

new 0

(2.3)

- Khi diem tiep thea duoc chon la U (Xi + 1, Yi + 1), M tang mot dan vi thea ca hai huang x va y. TQa d¢ cua trung diem rnoi 18. (Xi +2,

1 3

Yi + 1 + 2") == (Xi +2, Yi +2):

:= a (Xi + 2) + b( Yi +i-) + c

= d01d + a + b

Gici tri tang ella d (ky hieu 13. du) la d., = a + b = dy - dx

. (2.4)

N 6i t6m lai, . tai m6i buoc, thuat toan se chon gitta hai diem anh dua tren dau ella d. Tai m6i buoc, · gia tri cua d se diroc xac dinh bang each cong them do hoac dv vao gia tri d truce do.

Do Ye duong thang bat dAu (Xl' Yl) nen trung diem dau tien la M (x I + 1, Y I + t) va

F(M) = a (XI ~ 1) + b (YI + t) + c

= F (x l' Y 1 ) + a + b/2 Do F (Xl' Yl) = 0, nen

.-

d = d 1 = dy - dx/2

i(2.S)

",."t ,,;t .A, .....

(~HlfONG 2. CHUYEN 001 PHAN HItffi

D~ tranh phep chia cho 2, nhan hai v~ ella phircng trinh tren voi 2.

Do l:J day chi xet dau ciia d nen thay viec sit dung d thi dung Zd.

. .

- ·Dau tien dat d1 = 2dy - dx

dj+1 = d, + 2 (dy-dx)

N6"u d, < 0 thi

d. l'~~= d· + 2dy

1+ 1

Thuat toan co th~ duoc t6m tat nhu ·sau:



Midpoint Line Algorithm eVe dirong thang til' (x., Yl) toi (x2, Y2)] dx = X2 - Xl;

dy = Y2- Yl;

_.

d=2*dy-dx; /* gia tri khoi tao eua d .*/

dO ==2*dy; /* hang so tang de ch.on D */ dU =2*(dy-dx); /* hang so tang de chon U */

y= Yl;

,

Plot Point (x.y) ; /* diem anh dau tien *1

While (x < Xi)

if d <0 then

d=d+dD; / * chon 0 */ x=x+I:

else

d=d+dU; /* chon U */ x=x+l :

y=y+l ;

endif

Plot Point (x.y); /* ve diem anh gan voi duong thang nhat */

-

EndWhile

C hu y: Thuat toan mo tii b tren chi lam viec voi nhfmg dirong thang co d¢ d6c nam 'trong khoang tir 0 d€n 1.' V6i duong thang c6 d~ dec b:it ky, xet su d6i xiing qua mot phan tam va mot phan nr cua mat phang xy.

36

- -

. NHAP MON 00 HOA-MAv TfNH

t •

Vi dye Chuyen d6i phan hinh doan thing giiia (5, 8)'va (9~ 11).

D6i vai cue di6tll X" < Y co th~ ap dung thuat toano a day dy = 1 1 - H = 3, (/*1 = 9 - ~ = 4

- Dffu lien d, = 2t1.v - dx = 6 - 4 = 2 > 0 00 d6 diem moi tiep theo la (6~ -9) va

d . = d, + 2 (dy - dx) = 2 + 2(-1) = 0

~ diem anh diroc chon lit (7, 10) va

d, = d~+2(dy-dx)=O+2(-1)=-2<O di8m anh dUt.1C chon ia (R, u», do do

d 4 = d , + 2(J~v = - 1 +6- = 5 > ()

di601 anh dU(.1L' chon In (9, 11).

BAITAP

II

2.1. Sua d6i thuat loan Brcscnham d()i vaj doan th5ng d~ lam vice

~

vai doan thang C0 h¢ s() ~,t')l' hftl kyo

2.2. Chi fa cac diem anh (h[(.1C chon khi ap dung thuat loan Brcsenham d~ chuycn deli phan hinh mot dOCJn th~ng li:r di6m co t l)~ d () (1, 1) t (ii (11 ~ 1 5)6

2.3. TU(1ng t~t nhir hili t rcn nhirng t lr (ti6rn co toa d(l (1, 1) t(1i (9,5).

(iii) Duong du! ne!

Mac du cac ducrng dut net khong duoc thuc hien trong phan cung hoac trong phan mern h¢ th()ng, nhung no thirong diroc sir dung trong cac irng dung de) hoa thuong mai va ky thuat, DUCrng d61 net Ia mot chu6i cac doan thang co cling d() doc va cung (it) dai, Cling nhu vdi doan thang , he tht1ng dd hoa tU(1ng Hie doi hi.'li phai co m(lt su tra lai nhanh chong Iii may t fnh khi thuc hien qua trlnh ve duO'ng dirt net.

Co th~ Slr dung mot trong hai phirong phap sau d6 ve duong dut net.

Phuong phap lha nhat lit vc m¢t duCtng lien net tit diem dau mut cua doan thang l{ri dau rnut con lai. Sau do quay uguoc lai ltr dau tao ra S,! danh lira hling each thay d<ii mau cua doan lh~ng trung vai mau nen tai

'I ...

(~Hl_rCjN(_i 2. ('IllNEN nC)I PHAN HINH

37

cac khoang. Phuong phap nay khong hieu qua.

Phuong phap thu hai, tinh cac di~m d~u rmit cua doan nhin thay va g<)i thu tuc vi! doan thang, Xac dfnh di~m dAu rmit ella cac doan tiep theo va ve cluing. Qua trlnh tiep rue cho den khi ve xong toan bO dU('1ng dut net. Khi ve duong dut net thea phirong phap nay se cham han ve dl1ang dut net gi6i thieu a tren boi VI phai sir dung cac phep chia dau phfiy dOng d~ xac dinh cac di~m dffu rruit ella cac doan thang. '0

2.4. CHUY~N a6I PHAN 8,1NH DlJONG TRON

~

Duong tron co hlnh dang d6i xirng. Thuat toan sinh dirong tron co th~ ap dung tinh d6ixl1ng nay dG ve tam diem d6i xtrng nhau cho mot gia tri rna thuat toan tao ra. Tam phan id6i xirng dUQ'C lay d6i xtrng cac diem qua cac true ttrong ung Hi dirong phan giac cua cac goc phan nr. Ch~ng han, neu diem 1 trong hlnh 2.5 d3 duoc xac dinh thea thuat toan sinh dirong tron thl hay di6m con lai se diroc iffy d6i xtrng. Viec l~y doi xirng nay diroc lAy r~t dan g ian la dao ngiroc thu tv toa d() x va y nhu trong diem 2, dao nguoc toa d¢ x, y va Iffy d6i xirng qua true Y nhir trang diem 3, lcry d5i xirng qua true y nhu trong di~m 4, d6i dau cua x va y nhir trong di€;m 5, dao nguoc x va y r6i lay d6i xirng quatrue x va y nhu

. .

trong di~m 6, dao toa de) x va y roi l!y d6i xirng qua true Y nhu trong

diem 7, lily d6i xirng qua true x nhu trong di~m 8.

v

..

(2~ R) (i) (y, x)

(-R~ 2) (8 .. 2)
(-XI .v) .1' 0) ·(x. y)
" I
.. j
x
(5) 9
(-x, -y) (8) ,(x~ .. y)
(8~-2)
(-8~ -2) (-2~ 8) (-VI ,x)

...

,

. i

.,

(Q) (7)

(~VI -x) (vI .. xj

(-2~ .. 8) (2~ -8)

..

.. .

'.'.' Hlnb 2.5. Tam phan d6i xt'rog cua duOng tron ..

38

NHAP MON DO HOA MAy TiNH



T6m lai c6:



PI = (X; y)

p 2 = (y, X)

P3 = (-y, X) P4=(-X~)')

Ps = (-X, -yJ

: _. ~

'P5":= (-y, -X)

.. .. ...

"P7 = (y, -X) . P 8 == (X; - y)



(i) Xac djnh mt)t duong tron

-

C6 haiphirong phap ~huan ve mat toan hQC de xac dinh mot dllong

tron co tarn tai g6c toa d¢. Phuong phap d~u tien xac dinh mot duCtng tron nhu la m¢t da thirc bac hai co phuong trlnh nhu sau (hlnh 2.6): .

.. y2=r2_:x?

trong d6 x =

toa de; x

• •

y = toa dQ y

r = . ban kinh cua duong tron ..

.

. V6'i phirong phap nay, toa dO x trong cung tu 90 toi 45° .ducc xac

. 4·

dinh tit 0 t&i r / J2 ~ con toa d(l y diroc xac dinh bang .Jr2 - x2 nrong

irng vci mfii gia tri x. Tuy nhien, day lai la mot phuong phap khong .hieu qua Him bcri VI tai m6i di~rri eel gia tri r va x phai dircc Iffy binh phuong sau d6 tnr di nhau r6i lai Hty din ..

Phuong phap thu hai xac dinh duong tron theo hrong giac hoc (hlnb 2.]):

p = (x, Jr2 - x2 )

-----+----..-..1

- -... .

v

...

y

rsin (} t

P=(r cos e., r sin U)

/"

r

x

x

..... reos6 ..

.

HIDb 2.6. Duong tron diroc xac dinh bang Hinh 2.7. Duong tron duoc xac dinh bang

ham da thuc bac hai .. ' ~, IUC1D8 giac,

.... .,.

.. ...... "'" ...

C:HlJdNG 2. CHUYEN 001 PHAN HINH

,

39

x = r CO·sO y = r sine .r~



trong d6 - g6c hien thai

r = ban kinh

x = toa de, x

. ..

y = toa dQ y

..

..



..



,

Trong phuong phap nay, B di ttt 0 t6i rrJ4, va m6i gia trj x va y se

diroc tinh. Tuy nhien, tinh toan vci cac gia tri sine va cose phai tra gia ve thoi gian hem Hl phuong phap trlnh bay cr tren .



..

(ii) Thuat loan sinh duang tron cua Bresenham

. .

.

Do nhiroc diem ella hai phuong phap sinh duong tron da trinh bay l:J

tren nen se khong sirdung chting trong cac thuat toan sinh dirong tron. TUC1ng nr nhir khi sinh dirong thing, neu bieu dien cac phep tinh toan toa d9 cac di~m chi bang cac phep cong, trir, nhan cac 86 nguyen la t6t nhat.

. .

Thuat toan sinh duong tron cua Bresenham d3 dat diroc di~u nay.

Thuat toan sinh duong tron cua Bresenham lam viec nhu sau. Do duong tron cotam phan d6i xirng nhau nen chi cAn tao ra cac diem trong mot g6e cung 45°. Neu cac di~m -duqc sinh trong cung c6 g6c tit 90° de-n 45° thl x se tang thea huang +x con y se di thea huang -y (xem hinh 2.8,)'

00 00
-II' 00 00
0 0

0° 0
0
a 0
0 0

0 +x .. 0

0 0
a ....
0
0 0
00 00
00000 Hinh 2.8. Thuat toan sinh duong tron -~ua Bresenham.

Xap xi t6t nhat cua duong tron se duoc xac dinh bang nhjmg diem anh co toa d¢ nguyen va gan voi duong tron thuc st! nhat. Ki~m tra dieu nay trong hinh 2.9 (a) va 2.9 (b). N~u cac diem duoc tao ra trong khoang

, ,

40

. ... A...:t ,,~

NHAP MON 00 HOA MAY TINH

. .

ta 90 de'n 45°, tn0i m<}t diSm gan duong tron thuc su nhat duoc xac dinh hang each lua chon mQt trong hai V! Iff sau: (1) tang thea chieu duong cua x mot dan vi hoac (2) tang thea chieu dirong cua x mot don V! va

giam then chieu am cua y mor dan V!. Nhu vay, phai chon 11!a mot trong hai vi tri d6 xac dinh vi trf gAn voi duong tron thirc su han.

Do tam phan d6i xirng cua duong tron va do cung d~ sinh cac diem thuoc duang tron la t~ 90 dC'n 45° nen cac di~m sinh se bil.t dau tir (0, r)

t6'i (rlJ2, n Ji: Gia thi~t ding r 1a mot so nguyen.

Gi~ sir Pt x; }'j) da: diroc chon Hi mot di~m gfin dirong tron nhat, Di~m anh tiep theo dUlJC chon se la U hoac D (hlnh 2 .. 9)~

D F() .,...,., D d ;-

• ~t .v, Y = ~\ + y- - ,A.... 0 0

Ft x . y) = 0 thi (x, y) thuoc dirong tron

> Othl (r, y) nam phfa ngoai cua dirong tron < Othl (x. Y) Ham phia trong cua dttong tron

"} ) 1'· 1 ) ... M? hf

M Hi trung diem cua DU va co toa dO a (xj+ 1, Yi - 2 . Neu c prua

.

ngoai cua dirong tron thi D lit diem g~n voi duong tron han. Neu M a

phia trong cua duong tron thi U 1a di~m gfin voi dirong tron han .

..

• Dar

".

*. Neu dOld < 0, thi U (xi+!' yi) la diem dUQ'c chon va trung di~m tiep theo sc diroc tang len 1 don vi theo chieu x va co toa dQ la. 1

(xj+2, _Vi -2" ).

Nhll vay:

«:

1 = ·F(A",+2 v - 2 )

1 '. 1

~ 1 ~ ,

- ( .. r. + 2)- + (v· - -)- - r:

1 .. ' l 2

..

. ~

= d01d + 2xj + 3

H~ng so tang cua d Hl:

. ,

(~ll1Jt)N(, 2. {~I-JIJYr~N f)(A)ll)IIAN IIINII

41

--~-----~~---~-~~--~----------~------------------------

*

Neu ci(1hl > (), M (1 phfa ngoai cua duong tron ~a D la diem tiep theo diroc ch911. Trung di~n' t icp then se tang len mot don V! thea chieu x

va giam di mot don vi theo chieu y va co toa dO la (Xi + 2, Yi - t ):

J '2 3 )

(new = F (XI + ':Vi - '2

2' .., . 3..., ~

- ( .. ' .. + )- + (v - -)- - l . .:..

1 .• I 2

- (/ nhl + 2·\-1 - 2_\\ + 5

Hang s6 lang cua d la:

Khi hang sCl tang d, J and d., 13. cac ham cua (Xi,.vi)' diem P (Xi' yJ diroc gqi la iliefll uoc luang.

• Di~m khoi tao : (0, r). Trung diEm tiep then co V! tri Ia (1, 1'-1-) va

De tranh phan Ie khbi tao cua d, lay h = d - i . Do dt'S gia tri khoi tao ella h la 1- r va viec so sanh d < 0 se trb thanh so sanh II. < - ~ · Tuy nhien, Ch<_111 h hat driu 13 111l)L gia tri nguyen va gia tri tang cling nguyen (dl.: va dn), nen thay vao do la vice so sanh h < O. Do do co thuat loan

,;

nguyen theo h. Thuat toan duoc 16m Uit nhir sau.

Thutu loan sinh dztiing Iron cua Bresenham

h= 1- r ~ x=O;

y=r;

Plot Point (x.y); While y>x

/*Khl)i tat) * /

..

42

- -- - NHAPMOND6HOAMAYTlNH

• •

ifh-cf then /* Chon U */ dU=2*x+3;

h=h+dU;

-

x=x+ 1·

. ,

" else

dD=2*(x-y)+5; h=h+dfl·

,



/* Chon D */

..

x=x+J: y=y-L; endif End While

(O~ r)

(rlJ2.rlJ2)



- M

(a)

(b)

- ~

Hlnh 2419. Thuat toan sinh duCmg tron cua Bre senh ani " ·_(tbu(\t toan trung diem).

(iii) Sai phdn cap hai

.

• Neu U Itt di~m dtroc chon th] diem \lac Iuong di chuyen tit" (Xi' Yi) tai

,

(xi+ 1 , y). Sai phan cap mot diroc xac dinh nhir sau:

.

Tai diem (Xi + 1, y), d~ = 2( Xi + 1) + 3. Do d6 sai phan cap hai 13.:

III

Tucng tu, d., tai (xi,yJ lao 2 (Xi - y) + 5 va tai (Xi + 1,y) Hi d;) = 2 (Xi + 1- Yi) + 5. Do do sai phan cAp hai la:

CHUdNG 2~ CHUYEN £)61 pRAN HiNH

43

MJ=d~ -dD =2

• Neu D Ia diem dl1Q'C chon, diem 110C hrong di chuyen tu (xi,y) t6'i (Xi + 1, Yi -1). Sai phan c~p mot 13.:

dD = 2(xj- y)+5 ·

. .

d~ =2[xi +l-(Yi -1)J+S=2(xj -y)+4+5

du =2xi +3

du,=2(xi+I)+3

Sai phan cap hai la:

AU = 2, AD ::::: 4



Nhu vay, thuat toandua vao sai phan C~p hai duoc xac dinh nhu sau:

(1) h = 1 - r, x = 0 , y = r ,. AU = 3, till = 5 - 2 r, plot point (x,y) (die1Jl khoi tao). '.

~

~ .... ~ .

(2) Kiem tra dieu kien y = x. N~u chua thoa man thl:

(3) Neu h < 0 : chon U

x = x+ 1

. h = h + AU

AU = ~U+2 = AD+2

ngiroc lai

: chon D



x

= x+ 1

y = y - 1

,

'~ . . h:··. '=. h + 'AD ~

~

.J,

"' ._.,". . '. 'AU ~ " .: = .. A~U +·2 ....

AD =AD+4

I I



,

plot point (x, y)

.

. ' .

I .

44

A ...... ~ ....,

NIiAf) M(lN eo H()A MAY TINI1

~ ~

BAITAP



2.4 a) Viet chuang. trinh sinh duong tron trong Chang each ap dung thu~t loan sinh dirong tron cua Bresenharn (Midpoint).

h) Sti dung thuat toan de sinh cung n1(>t phan tam thu hai cua duang tron co Him tai (0, 0) va ban kinh Hl 17.

2.5 a) Thuc hien thuat toan sinh dUo-ng tron cua Brcsenham bang each Slr dunj; sai phan cap hai va viet bang ngon ngil C.

h) Sir dung thuat loan nay d6 sinh cung mot phan him thu hai cua duong tron co laITI tai (0. 0) va nan kinh la 13.

2.6 Sinh cung 1119t phan tarn thu hai cua (hr('1ng tron co tarn tai goc va han k inh iil 1 () hang each su dung:

a) Thuat roan Brcscnham v(1i sai phan cap 01(1t. b) Thuat {Dan Bresenham v(ti sai phan cAp hai.

~~ ~ A ,

2.5. (.-:HUYl~N not PHAN HINH EIJIP

Ri6u tlurc x ac dinh mot dip (hinh 2-10) dirdi dang da thirc nhir sau

_(x_-_h)_~ (y - k):! =.1

~ -r ~

(J b:

trong d6 (Ii, k) = tarn cua elip

(I = <.t{) dai true chinh

• •

h = d(l da i true ph l}

Khi sir dung phuong phap da tlnrc de xac dinh mot elip, gia tri cua x

,

tang tit h t6j a . T~li m6i biroc tang cua .r, gia tri cua y duoc xac dinh qua

bi~u thirc sau:

'. ,

(_"lllf<lN(-, 2. (~Hl.JYf~N f){)I I)I-IAN IllNll

45

Phuong phap nay khong hieu qua do phai tfnh binh phirong cua a va (x - II); sau do chia (.v - h f" cho a'2 rlSi lay can cua [l-(x - II f/a " J.

Nhu vay, neu ap dung phirong phap nay d~ sinh elip thi rat-cham .. t6n nhieu thcfi g ian. Do do a day ap dung ky thuat trung di~m d~ sinh elip

.~

git>ng nhu deli voi dLl(1ng thanj; va dub'ng tron .

• h

k ~.~ "' a



Vector Gradient

-a

h

D() doc uep tuycn = -1

Vung J

Yung 2

-h

I ~

Hinh 2111. Elip chuan C() t~1111 d gOL ..

Hmh 2. t 2. llai vung cua clip.

Xet mot elip chuan trong hinh 2.11 co tam tai (0, 0). Phuong trinh bi~u dien clip nhu sau:

( , I""""" .."..." ., I "") ('

F .. \-, _v)::: )-r + (I- .. V- - a n: = )

(1 day, dung kyo thuat trung di~m d6 ve dip. Do clip chuan co btln phan d6i xtrng nhau qua hai true x va y nen chi thirc hien vc 1/4 clip trong 1/4 thit nhat cua mat phang nhu hlnh tren con cac phan khac se duoc ve bang each lay d6i xirng. Thuat loan trinh bay (y day dua tren th uat loan cua Da Silva's, la ket qua cua st! ket hop cac ky t h u~t cua

NHAP MON n6 BOA MAy TfNH

• •



Pitteway, Van Aken va Kappel ,Sl:r dung sai phan tung phan,

I

Chia 1/4 elip nay thanh hai vimg. Bien gioi giira hai vung la diem rna tai d6 duong cong co dO d6c Hi -1 (xem hinh 2.12). Vector gradient vuong goc voi tiep tuyen cua duong cong tai di~m d6 ducc xac dinh nhu



sau

Grad F(x, y) = of/ax i + 8F/8y j = 2b2x i + 2a2y j

Ranh gi&i giii'a hai vung 18. dit'!m co d<} doc la -1. Nhu vay vector gradient co dQ doc Ul 1. Db d6 thanh phan i va j ella gradient c6 dq Ion

nhu nhau.

Trung di~m tiep theo:

I

Trang vung 1, thanh phan j 16n han thanh phan i cua gradient: a2(yp ~ 1/2) > b2(xp + 1).

Trong vung 2, nguoc lai,

Tai diem chuyen tiep giira hai vung: a2(yp - 1/2) = b2(xp + 1)

Xac dinh gia tri cua ham tai trung di~m gitta hai di8m anh va dua vao dau cua ham d~ xem trung diem nay flam trang hoac nam ngoai elip .



Do d6 se xac dinh duoc diem anh nao gan voi elip han. .

Trong vung 1, vi trf cua diem anh hien tai 13 (xp, Yp). Bien quyet dinh cho vung nay HI. d., 1a gia tri cua Ftx, y) xac dinh tai (x, + 1, Yp - 1/2), va

· 13. trung di~m giita U.va D: ·

d01d = Ft x; + 1, Yr - 1/2) = b2(xp + I? + a2(yp - 1/2)2 - a2b2 .

Neu diem tiep thea 13. U, trung diem tiep thea c6 V! -trf (x, + 2~

Yp - 1/2): ·

I

dnew = Ftx; + 2, Yp - 1/2) = b2(xp + 2l + a2(yp - 1/2)2 -a'b'

Do d6: dnew = d01d + b2(2xp + 3) ·

du = b2(2xp + 3)

Neu diem tiep thea 13. D, trung di~m tiep theo la (x, + 2, Yp ::'1 - 1/2)~

.

Do d6:

C:HUONG 2 .. ·CHLTYEN DOl PHAN HlNH

47

dnew = Ftx; + 2, Yp - 3/2) = b2(xp + 2)2 + a2(yp - 3/2)2 - a2b2 dD :% b2(2xp + 3) + a2( -2yp + 2)

Trong viing 2, neu di~m anh hien tai la (xp, Yp) thl bien quyet dinh d2 13. Ftx; + 1/2, Yp - 1), tinh tai trung di~m cua L va R~ Tfnh gia tri cua bien quyet dinh trong vung 2 nrong tu nhtr trong vimg 1 .

.

Tfnh gia tri khoi tao cua bien quyet dinh, Gia thiet rang a. b la cac

gia tri nguyen. Elip duoc ve bat dau tit (0, b).' Nhir vay, trung diem dAu tien xac dinh tai (1, b·- 1/2):

dinit = F(l, b - 1/2) = b2 + a2(b - 1/2)2 - a2b2 = b2 +-a2(-h + 1/4)

Thuat toan ve elip diroc mo ta nhu sau:

(1 ) x = 0; y = b;

d. = b2 - a2b + O.25a2; /Gia tri khci tao cho vimg II

d, = b2(x + 0.5)2 + .a2(y - 1)2 _a2b2; IGiii tri khoi tao cho vung 2/

ElipPoint(x, y); /diem khoi t-qol

(2) While (a2(y - 0.5) > b2(x + 1) Nung 1/

If d, < 0 then d, += b2(2x + 3) /Chon VI

else d, += b2(2x +'3) + a2(-2y + 2); y--; IChQn D/

(3)

x++;

ElipPoint (x, y); \

While y >0 /Vimg 2/

If d2 <'0 then d2 += b2(2x + 2) + a2( -2y + 3); x++; IChQn R/

else d, += a2( -2y + 3); /Chon L/

..

y--; ElipPoint(x, y);

(ii) Phuong phap me dinh Elip bdng lutfng gwe hoc

. .'" .

.

Phuong phap tiep theo d~ xac dinh elip do Iii su, dung hrong giac

(xem hlnh 2~ 13).

Phuong trinh xac dinh elip bang luonggiac hoc nhir sau:

x = a* cosis+b y = b*sin9+k

. .



...

- .

... .

. ~ .

I

"- NHAP M()N i)()'HOA MAYTlNH

• •

trona do (. v, v) loa (_1{) hien thai
II,._ • • ...
It - lll) dai ella true chinh
_...
• ..
/) - dO dai cua true phu
-
B - gtlC hien tlloi
--
(II, k) = tarn cua clip Troug phuong phiip sinh clip bang phuong phap hrqng giac, gia tri cua e di tit () h'li it / 2 radians (fad), Cac diem con lai s~ duoc xac dinh hang each lay dl;i xirng. Phuong phap nay tll ra khong hieu qua va t6n nhicu th\.ri ,g,ian trong cac ung d~.ng nrong lac va phai str dung hang tim

kicm chua ciic gia tri sinO va cosO vbi 0 trong khoang tir 0 t&i 1t I 2 rad, Phuong phap nay khong dUQ'C chap nhan do phai tra gia cao v6 str dung

h0 nho va luu tru cac gia tri cua e. Tuy nhien, do gia thanh ella 111UY tinh ngay cang g iarn trong nhung nam gan day nen phuong phap nay ding

. ,

tam chap 1111~11 dt10C.

V

r"

(a c os () ;- h ~ h xi n {} i k )

,/

, ...... _ ... Y

Tam

x

Hinh 2~ 13. MC) ta bang luong giac hlnh elip,

(iii) E lip voi true quay

Elip co hC)1l philn d6ioung vai nhau. Khi quay elip di mot goc 90u thl eta tlurc tnt) tii clip s~ c() dang S(lU

(x - II /- + (y - k) '1 == 1

.., ..,

1)- a-

trong do (It. k) = tam clip

(I

-

-

• •

-

-

(~IIUONG 2. c:HuvEN Dor PRAN IDNH

.'SI

49

o

Bi~u di~n elip bang hrong giac hoc nhu sau

x = b * cos () + h va

trong do (x, y) = toa d~ hien thai

y = a * sin f) + k

...

a = de> dai true chinh

. ...

b - ()

'(h, k) =

-

-

dt} dai true phu goc hien thaitam cua elip

Gilt sir rang quay elip mot g6c 1611 hem 90°. Tit hlnb 2.14 cho thay rang co the quay elip bang each quay true x va y. di mot g6c et°. Khi do, phuong trlnh In6 t~ toa dl] x, y cua mot diem tren elip c6 dang sau

X'= a cos e - b sin «() + a) + h

y = b sin () + a cos «(J + a) + k

y

.'

..... . ~

~ .... <I'.. X

_E'

..- .

I'

}'

". .......

...

' ..

..... .....

......

'II ••

...... ".

' ....

<,

".~ " .....

......

....... ,,;--

.........

' .

....

. ;

.'

"

."

~ ... "I

.'

L'

....... '

"

.'

..

x

. .........

..... ........

" '._

........

' .

.' .... ,~

~.

"'~

... '

....

+.

,+'

.... '

......

...., ....

-. .....

Hlob 2.14. Phep quay mot elip ..

\

2.6. CHUV:tN B6I PRAN HINHCUNG vA HINH QU~T

, .

(i) Cung

".

M¢t cung (arcs) [hlnh 2.15 (a)] co th~ duqc bieu dien hoi phirong phap da thtrc hoaclirong giac, K~~ sir dung phirong phap hrcng gi~c, gia uibat d4u 13. 8j va giatri ket thuc IA 82-, [xem hlnh 2. 15(a) va2.-1,5(b)] .

.

-

5lJ

NIIAll M{)N DO H{)A MAy 'riNII

----~~--~------~------~-----~------~------~----~~--"--~

,,"

Cac binrc cl\n lai tUHllg tu nhu khi chuyen d6i phan hlnh mot duong tron, ngoas trir tinh d6i xirng dB. su dung.

v

•• 1 .. ••• ... ••••• - ••••

"

"

,"

"',

" "

.

"

I'T

,.~

,"



,

,

"

" ",

..... - ..

•••• + ••••••••••.•.

","

."

(a)

(h)

Hmh 2.15. Cung diroc xac dinh bang luoug giac ..



Khi sir dung phuong phap da lhue d6 hi~u di~n mOt cling thi gia tri

cua x di tir XI t6'i X2 va gia tri cua v duoc xac dinh hang bi~u thirc

.Jr"2 -x2 (hlnh 2.16).

Tren quan dien1 cna ngLll1i lap trinh, cung cling Iu n1(11 phan cua dirong tron. Tuy nhien, van de la 0 ch6 neu cac thuat toan ch~ng han nhir sinh dirong tron cua Bresenham duoc su dung d6 ve mot cung thi cac diem dau mut cua cung phai duoc xac dinh diroi dang cac toa d¢ ella x va y. Cong thirc 16ng quat se khong hieu qua khi xac dinh cac di~m dau rnut (xem hinh 2.17). Do la do phai xac dinh cac diem dffu miit cua cung sau m6i Ian tang len 11101 cung 45(1. M6i 010t diem trong s6 him di~m lay d6i xirng phai duoc k iem tra xcrn di6n1 do eo narn giii'a hai

,

di~m dt\u rmit xac dinh tnr6c cua cuuj; hay khong. Nhu vay, viec ve

cung dua tren thuat loan sinh dl1ang. troll cua Brescuham se t6n rflt nhieu thai g,ian cho viec ki6111 tra cac di8n1 tren chu vi duo-ng tron. Neu cac diem dau mut bi trech th] phirong phap nay co the tHin toi yang lap vO tan, Do d6 ap dung phuong phap nay rfit nguy hiem.

(ii) m» II quat

Mot hiuh 41." .. 11 tsector) c..1L((.1C sinh htll1t- each sir dung nl()t tronf. ba phuoug phap sinh 1l1t)l cung va sau do sinh hai doan thang noi tu tarn cua .ung l<S'i hai di6m dau rmit cua CUIlP..

..,. ....

C:HlfONCi 2~ CHlNEN DOl PHAN HINII

5l

y

4

0000 0000 o

I I

.. 7 ..() -5 0

.. ~

~ 4 4 .

----------~~------~- X

Hmh 2.16. Cung dircc xac dinh bang phiroug phap da thUC4

Hrnh 2.17. Xac dinh hai diem d~lJ miit.

Gia thiet ding sinh hlnh quat co tam tai diem co toa d9 13 (II. k). Df1u

. ?

tien, sinh mQt cung tir 8. tai ()2' Sau do, sinh mot doan thang t lr ih, k) toi

(r cos OJ + h, r sin ()l + k). Doan thang thii hai duoc sinh se nt;j tit (II. k) t.C1i (1- C()S 82 + 11., I- sill B2 + k).

",'" ..:..' ,. ... ....... ..... A

2. 7. CHl~YEN t)(») PHA~ HI~II \1{)~I~ HINH CHU NHAT

~ ..

MQl hinh dIU nhat co cac canh song song vdi cac true toa d¢ duoc xac dinh khi hi~t ll)~l dO cua hai dinh d6i dien [hlnh 2.18(a)]. To i.' d~ cua

.

cac dinh con lai se duoc suy fa tic hai dinh nay [xem hinh 2.18(b) I· Khi

_v

JlI ~- ~ ~_.~6~ ~

y

Y -· ... -- .................. T-------- .... -- .. -----~ (X2 , .. VI)

1 ~

I

I I I I I I

• • ,

", -----------~-----.~--~.- .. -··---·--r

_ v : (XI , V2)

J ...

. ~

I I I I

l i.

, t\

...... ....,__- x

...

l I

V., -------~ ..... :".~.- .... - ... --------- ... ~- ....... "" (.X.,.. V,)

.. - I .... -.

I t

. . . "

I.

..

I

~--------------~- X

. .

. I ~ .",t"1 '.

. ~ -

Hinh 2.18~ .: ChUyCll doi IP~ hinh mQ~ 111nh chit nhat .

..

-

. .



,

52

... " NIJAp'M6N £x)HOA MA.¥" TfNH

• III

c

biet dtroc toa d¢ cua bon dinh thl se xac dinh duqc cac doan thang n6i bon dinh nay. Tnrong hop hlnh chii' nhat trong hinh 2.18.(a) va 2.18(b), cac doan thang duoc xac dinh nhu sau: doan thing n6i tft (XH 'Yl) t6i

(x., Yz); doan thing n6i tit (Xl' Y2) t61 (x2, Yz); doan thang n6i tit (X2' Y2) tai (X2' Yl); va doan th~ng n6i tit (x2, Yl) ·t{ri (Xl' Yl)·

2.8. TO MA. U MI~N KIN

j

T6 mau mien kin la mot qua trinh xac dinh mall cho mot mien da

duocxac dinh tnrrrc d6. Mien co the dU<JC me,. ta thea cac di~rri anh hoac

... • • II-

theo mo hlnh hlnh h9C. M6 ta theo di~m anh, mot mien c6 th~ diroc xac dinh Ia toan bo diem anh tao nen viing d6 hoac cac di~m anh Hi bien cua

,

mien do (xem hinh 2.20). Trong tnrong hop nay, mien diroc goi Ia mien

trong (interior-defined) va thuat toan sir dung d~ t6 mau cho mien nay

diroc goi Hi to mall loang (flood-fill algorithms). Mot kieu mien khac diroc goi la mien bien (boundary-defined region) va cac thuat toan t6 mau mien tuong irng diroc goi la t6 mall theo dirong bien (boundary-fill algorithms). M6 tit bang hlnh hoc, mot mien duoc rno ta duoi dang cac d6i tuong nhir dean thAng, da giac, dirong tron ... '

De xac dinh vi trf bat d~u hoac ket thuc cua mot mien, ta dua fa khai

•• .. 0 ..

,

niern cac di~m anh Ian c~n (k~ nhau).

Lan can 4: Hai di~m anh duoc gQi 13. IAn can 4 neu cluing ke nhau

? '"

thea dirong thang dung hoac nam ngang.

Lan can 8: Hai di€m anh dircc goi 18. Ian can 8 neu cluing k~ nhau thea duong th~ng dung, ngang va duong cheo.

(a)

(b)

Hinb 2~19~ (a) Lan c~ 4; (b) Lan can 8.

CHUONG 2. cHUYEN 001 PHAN HiNH

53

(i) To mau loang

Khi sir dung phtrong phap loang, ngiroi sir dung phai dua ra mot .di~m goi 1a diem xuat phat (seed). Tit di~m xuat phat nay, thuattoan se duyet qua tarndiem Ian can cua diem nay [hinh 2.19 (bjj hoac bon diem Ian can cua di~m [hinh 2.19 (a)]. Qua trinh dircc l~p lai cho den khi t~t

ca cac diem anh trong mien ducc duyet. 0

, . .

Doan rna 16 loang mien trong (Iancan 4)

FloodFill(x, y: interger; colorl, color2: color)

!!Bilt d~u tai cac di~m anh co vi trf x, Y; chuyen cac di~m anh co

- .

mau colorl thanh color2

If Getpixel(x, y) = color l Setpixel(x, y, colorZ):

Floodf'illtx - 1, y, color 1, color2); FloodFill(x + .1, y, color l , color2); Floodfiill/x, y + 1, color I , color2); FloodFill(x, y - 1, color l , color2);

Giai thuat nay co nhuoc diem Ia chi kiern tra Ian can rna khong kiem tra xem di~m anh DaO da diroc t6 r6i. Do d6 nhieu diem anh bi kiem tra

• •

nhieu Ian. 0

Xac dinh mien hoi bao dong

Xacdinh mien trong

• • - - • •

o 0

o 0 0 0

II II 0 0 0 0 0 0 0
II II 0 0 0 0 0 0 0 0 0
e e e 0 0 0 0 0 0 0
It - e: e o· 0 0 0 0 0 0 0 o.
,
tit ._ . . . 0 0 0 0 0 0 0 0
It e e e e .e 0 o _0 0 0 0 0
(a) - (b)
.
.. - -
Hinh 2.20 Xac dinh mien.
, A
~ .. 54

./\. "_" _.A "~.l::. .II J'"

NHAP MON 00 IIOA MA Y TINH

• •

,

. Thuat tOUIl nay tiep can thea each khac va c6 nhieu U"U dit~m han so v6'i thuat toan trinh hay l1 tren. Trong phuong phap ttl dirong bien, nguoi sir dung cling dira ra di6nl anh xuat phat. Thuat loan nay duyet tung bu6c mot cac di~m anh hen tnii va ben phai cua diem anh xu~t phat. Khi diim anh hen trai nhat va hen phai nhftt cua bao dong d3: dtroc duyet thi t6

II -t ..

dU(:fng. thang ~6m cac diem anhduyct nay. Sau do, thuat loan lai duyet

tung diem anh phia trcn va phia duoi cua dirong thing vira ve duoc. Khi didnl anh tai bao dong duoc duyet th] ve dUCmg thang g6m cac diem anh do. Qua trlnh diroc ticp tuc cho den khi tat ca cac diem anh duoc duyet.

Trong VI du trollf. hi nh 2.21, di6m xuat phat la s,

Xet han g ch (fa s, luu b Vat) stack A

c.....

Xe6l~11 can vai 11a 11g ch l1a b ; duoc I, (It i va hru vao stack. Loai IJ ra khoi stack.

Tuong It! nhu vay cho den khi stack rc3ng.

f
U

1 . ! b

~" ... __..-.

h

g

d

~

I

a

s

b

..

I

...

Hinh 2.21. 1'{) mau thea dtrong bien ..



• •

.

C~ 1-1 I Je j N (3 :2. ('\' 1 ~ i Y f:~ N i)(~) I I) I. ·1 A N I-II NH

55

9

E4
V;
7 !4

E~ .
() J!6 r:
5 l'l III v,

..
4
• 3 E1 E.,
VjQ
2

1 I ·3 V'S

e.. f'9 s, 1

2

4

5

o.

7

9

Hinh 2.22. Phac hoa Si1111 da giac.

(iii) 1"() nuiu da gidc theo dong quet

.

Thuat to.in loang dan va t6 mau then duong bien gift thietrang cac

diem anh trong vung diroc luu trong vung nho hi~n rhi. Truong h91> vung durrc xac dinh hang hinh hoc, noi mot each khac vimg duoc xac dinh hang da giac thi qua trlnh to mau diroc thuc hien theo dong quet va thuat loan nay con gQi la thuat toan t6 mall theo dong quet tscanliney. N€u da g iac diroc hi~u di&n dutri dang toa d\> cac dinh, nhu trong me, hlnh ba chieu, qua trinh tb mau da giac dau tien la sinh cac canh d~ xac dinh cac di~m anh ban dong sau do ap dung thuat toan to dirong bien thi kh6ng hieu qua. Thuat toan to da giac sau se l~n dung uu di~m cua dong quet va su lien ket eric canh d6 sinh da giac.

Trong thuat roan chuyen d6i phan hinh da giac, gia thiet rang danh such cac dinh diroc hru theo Int)t thu nr va da giac d3: duoc lily thea ty l~ co dan cua cira s6 (window) va khung nhin (viewport]. Trong hinh 2.22,

gia sir cac dinh diroc luu VaG ma tran nhu trong bang 2.1.

HUGe dilu tien cua thuat toan tt) da giac In tao ra danh sach cac canh (Edge List: EL). M6i nl<)t ghi tri cua y trong cac hang phan hinh SeeD

. -, \

. ~ . . .



"

56

. ,

. ,

.

NHAP M6N D6 HOA·MA Y 11NH

• •

mot 6 nrong ang trong EL. Nhu vay, neu man hlnh c6 d¢ phan giai thea

. .

chien dung Ht 1 024 thl trong EL se c6 1 024 c6ng vao. [Trong hinh 2.22,

gia thiet rang dO phan giai theo true thing dung lit 8 di~m anh].

Tiep theo, bang se chua nam c6ng vito" cho mtH mot canh nhu sau: gia tri y nho nhat (Ymin), gia tri Y 16n nhat (Yniax ), toa d¢ x cua Ytnin' toa d¢ x cua Ymax' va nghich dao cua d~d6c cua canh do. Cac gia tri nay duoc

. -

hru thanh tung hang m¢t trong EL thea gia tri nho cua Y min. "Trong hlnh

.

2.22, c6 13 dinh; nhir v~y co 12 canh. Trong bang 2.2, cac canh 2, 4, 6,

8, l O, va 12 18. cac canh Ham thea duong nam ngang. Do d6 khi t6 mau se khong xet t61 cac canhnam ngang nay. Nhir vay, khong can thiet phai cho chiing vao EL. S~p xep theo gia tri giam dan cua y dtroc EL trong bang 2.3. M6i p1¢t c6ng vao trong EL chi can hru Ymax' XM va 11m trong do XA 13. toa d(> x cua Ymin va m 13. dQ d6c cua canh d6.

Bang 2.1. Toa d¢ cua cac dinh

Dinh 1 2 3 4 5 6 7 8 9 10 11 12 13
,
- . , 1 ·1 2~ - ·2 5 5 7 7 5 5· 3 3 1
x
.
I
.: Y ~ .. .1 5 5 7 7 5 5 1 1 2 2 1 1
~ .
... .' . .

Khi da xay dung diroc EL, da giac se duoc t6 thea m5i btt6'c tang cua

.

y 18. 1 dan vi. Trong hinh 2.22, y seduoc tang tir 1 t6"i 8. Khi y tang len 1

thl canh se tra thanh kich hoat, MOt canh diroc kich hoat khi gia tri y

"

cua dong quet trung voi s6 6 ciia canh. Canh van ducc kich hoat cho tui

?

khi gia tri y cua dong quet trung voi gia tri Ymax cua canh do. Chang han,

khi Y = 1, canh E 1 , ,£7' £9' va Ell se duoc kfch hoat ( , duong y = '1 giao v6i. cac canh E I' £7' £9' va Ell). Cac canh kich hoat se .diroc hru boi gia tri xA de tao nen danh sach cac canh kich hoat (Active Edge List:



AEL). Trong hinh 2.22, danh sach cac canh kich hoat co thu tl}' nhtr sau

"El' Ell' £9' £7 (xern bang 2.2). Danh sach sap xep dtroc chi ra trong hinh 2~25~.'

\

CHUdNG 2. CHVYEN 001 pHAN HINH

~ 57

31

34

Dong quet 3

Dong quet Z

(;0

Dong quet 1 I I

14

Hinh 2.23. Xac dinh s6 giao diem cua dong quet v6i canh cua da giac,



Qua trinh to mall duoc thirc hien bang each t6 cac di~m anh nam giira hai giao di~m k~ tiep cua dong quet voi cac canh, Nhu trong vi du,

cac di~m anh gifra cap canh E1, (XM y) va Ell (XA' y) se duoc t6 va cac

~""l

di~m anh giiia cap canh E9 (XM y) va E7 (xA, y) diroc t6 (k~ ca cac di~m

anh thuoc canh). Trong bang 2.3, E1 (XA' Y) = (1, 1), Ell (xAt Y) = (3, 1), £9 (XA' Y) = (5, l),Ova E7 (XA' Y) = (7, 1).

Truong hop tfing quat, thuc hien t~ mau cac di~m anh nhu sau: t6 mall cac di~m anh nam gifra hai giao diem cua dong quet voi cac canh cua da ghi.c:va chi t6 vai cac di~m anh nam trong da giac.

V 6i m6i dong quet:

- TIm giao diem vdi cac canh,

- Sap xep thea chieu tang cua x.

- T6 cac diem anh giua cac cap giao diem,

I

Tnroc het, xet tinh trong ngoai cua diem anh theo quy tac chan!le.

Gia tri khci tao Ia chan va ell' g~p mot giao di~m thi d6i ngiroc lai .tinh chan/h~ cua gia tr] nay. MQt diem anh lit nam trong da giac khi tinh chan Ie cua di~m anh d6 18. le,

Truong hop mot dinh narn ·tren dong quet se diroc tinh 13 may giao diem. Neu giao diem ella dong quet voi cac canh khong phai la cac dinh thi viec tfnh toan giao diem la don gian, Do mot dinh Hl n6i cua hai canh

. .

nen n6 se duoc tinh hai lin trong hai canh lien ti~p d6. VI vay, viec chi

. t6 cac diem ':anh nam giua hai giao diSm lien ti~p 18. kho xac dinh. Do d6

. . '

. ~

58

. ~

NIIAI) M()N f)() H< )A MAy TfNH

co quy tac sau: Hai canh lien ti6p ella da giac co cung Huh chat tang hoac giarn neu: x tang, y tang - x giam, y .giam - x tang, Y g i.im - x giam, y tang, Truong hop nguoc lai thl hai canh nay diroc coi Hi khac tinh chat. Neu hai canh lien tiep co cung tfnh chat thl dinh k~ ella hai canh nay duoc tinh m<)t Ian nghia la chi durrc coi la 019t giao diem. Neu hai canh

, .

lien tiep khiic tinh ch;'(t th'l dinh ke ella chung duoc tinh la hai giao di0ni .



... .

ngoai

tron 0- -='"

L •

neoiu

.._ .

Trong vi du ft hinh 2.2~, sf) giao di~n1 cua duong.dong quet 1 ~6'i cac canh ella da giae lii 4: 11. 12. 1~, 14. So gino di~n1 cua dirong dong quet 2 voi cac canh ella da gi{ic la 2: 21. 22. S6 giao di~nl cua duC1ng. dong quet 3 vai cac canh cua da giac la 4: 31, 32, ~3, 34 (trung do 32. 33 la

hai giao diem trung nhau).

Nhir vay, vice t{) mau se OU(.1C thuc h icn nhu sau: to cac di~m anh b g i ita 11 va 12 ~ 1 3 va 14 ~ 2 1 va 22; 11 va 3 2 ~ :3 3 va 34 .

.....

Sau khi to cac diem anh thl cac canh 111a co gia tri Ymax trung voi gia tri hien thoi ella y se duoc loai khoi AEL. Gia tri XA cho canh do duoc tang len 1/1n (i.e., XA = XA + Ylm) va y se duoc tang len 1. Cac canh rnoi duoc kich hoat se duoc them van AEL va qua trinh tiep tuc cho t6'i khi

gia tri y trung vui s6 6 16'n nhat.

Truong hop dac bier, toa d~ y hien thai trung voi toa d0 y cua mot trong cac dinh. Trong tnl<1ng hop nay, da giac kh6ng duoc t6 mot each chinh xac do dinh nay sc dU<Jc tfnh hai lfin trong hai canh khac nhau. Trong VI du da neu th] dieu nay xay fa tai cac dinh co toa d0 y = 1, 2, 5, 7.

D6i vai cac canh narn ngang diroc thuc hien to nhu th€ nao? Duyet



"') ,

(~HUdN(.i 2. rut JYEN I)()I r)I~AN I-IINI-I

co )7

trong danh s.ich td~l dO cac dinh, neu thay cac dinh c6 toa dq y trung

• nhau thl sap xcp then chieu [[Ing cua x va tl) t3"t ea cac dienl anh gili'a hai

dinh lien tiC:p.

Bdng 2.2. Cac th6n~ tin quail tror.g

? / 1

cua ca C ca n 1

..

Toa (I{) Toa db x
• .. • ~
'. ?
Cauh ~Vrlinl .Y t1l.1 '- X CU~l CU~ YmJ~ 1/
~
_y . Tn
nun
El I 5 ] J 0
t: S .. ') 1 2 -
-
fJ' ~ S 7 ? 2 0
-
..
£4 7 7 2 5 -
r, .5 7 ~ 5 0
E(;l 5 ~~ ~ 7 -
r: I ~ 7 7 0
f
I~~ 1 J , 5 7
-
1~·9 J 2 5 ~ 0
I~,; 10 2 ~ .3 5 -
..... •
f~' 1 I I 2 3 ~ 0
--
EI~ I I 1 3 - Bang 2.3. Ket qua sap xep

then gia tri giam dan ella y

Danh sach cac canh

EL S6 canh
.
68 -
67 -
66 -
OS 3,5
64 -
63 -
() 2 -
6 1 i. 7,9,11 EJ 1~5

- ....................... ~ 17 12 10 I; 1'" [ I I 510 I A]

6

5

4 A

3 A.

2 1 o

l'

Hinh 2.25. Danh sach hru cac canh da sap xep,

t

II

60

,... ,...;:. .,.;

. NHAP MON DO HOA MAY TINH

.. 4

. ~ II'"tl'

2.9 •. PHEP CHUY:EN KHOI BIT (BITBL T)

Mac du cac phep tinh raster c6 vai tro quan trong khi lam viec vai vung nhrr dern, nhung thuc t€ ta van lam viec voi tung diem anh mot. Ta phai mat rdt nhieu thtYi gian d~ thuc hien cac phep tinhtuong tt}' nhau v6i nh6m cac di~m anh. Nhtr vay, tren khia canh phan cirng va phan mem thi t6t nhat neu ta eo the tao ra cac phep tinh raster voi mot khoi hinh chir nhat cac diem anh. Mot l~nh dac tnrng trong raster d6 13. chuyen kh6i

. -

~

bit: BiTBL T (Bit Block Transfer). Cau lenh nay dung d~ copy mot mang

cac diem anh tit mot vung hinh chfr nhat trong vimg nho dem, goi lA vimg ngu6n, toi mot vimg hinh chi! nhat trong man hinh, gQi Hl vung dich.

.

Khi chuyen khoi bit, may tinh se thuc hien phep toan logic giira cac

cap di~m anh nrong irng trong vimg nguon va vung dich, sau d6 thay the ket qua V3.0 vimg dich. Phep toan nay co the duoc bieu dien nhu sau:

S op D -4 D

S: cac di~m anh ngu6n .



o

D: cac di~m anh dich.

.

op: phep toan logic g6m - replace, or, xor, and9

Cac mo hinh d6 hoa thirong hru tru theo dang kh6i trong b(J nho hien

. .

th] cua may tinh. Dieu naGy thirong duoc su dung voi cacky tu (xem hinh

2.26).

Ta co th~ di chuyen mot virng cua b¢ nho hien thi khi da xac dinh diroc no rna khong can phai chuyen d6i phan hinh lai, Phep BiTBL T cho

I ~

phep ta thuc hien dieu nay. Them vao d6, BiTBL T con diroc sir dung de

t6 mall da giac, bieu dien nhieu thao tac db hoa thuong dung khac Him . tang t6c d(l han phuong phap chuyen d6i phan hinh d5 de cap, Sau day se

. . .

n6i t6i viec su dung BiTBL T trong cac phep chuyen d6i.

CHUONG 2. C~Hl.TYEN DOl PHA.N HlNH

61

Bieu dien
K~ ttl Bieu dien BCD Hexadecimal
y .
•• • • • • 1 1 1 1 1 1 O~O F C
• • 1 0 0 0 .0 0 1 0 8 3
• 1 0 0 0 0 0 1 0 8 3
e e It • It It 1 1 1 1 1 1 0 o· F C
1 0 0 0 0 0 1 0 8 3
1 0 0 0 0 0 1 0 8 3
.
• 1 0 0 0 0 0 1 0 8 3
e • • • e It 1 1 1 1 1 1 0 0 F C (i) cac phep chuyln d6i BITBLT

Gia thiet rang mot viing cua b~ nho (xem hlnh 2.27) ducc sao chep sang vung khac cua bo nho hien thi, Thao hie nay duoc bieu dien cac gia tri hru trong cac vi trf tit 01 H toi 08H t6'i vi tri mong muon trong vimg nho hien thi, Cac d6i ttrong d6 hoa co the diroc bien thi rna khong can phai chuyen d6i phan hinh. Phep thao tac BiTBLT Iam viec true tiep vai vimg nho nhat 13. 1 byte (8 di~m anh), Phep chuyen d6i na~ .nhanh va thuong diroc sil dung trong cac ling dung hlnh chuyen dl}ng nhu heat hinh ...

Dia chi K _, tu Bieu dien BCD Bi~u dl~n
y .

Hexadecimal
oi H 0 0000 0 1 1 1 1 1 0 0 · 7 C
02HO 0 1 0 0 0 0 0 1 0 8 2
03 HO 1 0 0 0 0 0 0 0 8 .0
.
04 i-I 0 1 0 0 0 0 0 0 0 8 0
(15 H 0 1 0 0 0 o 0 0 0 8 0
()6 H 0 1 0 0 0 0 0 1 0 8 o ,.
()7 H 0 0 1 0 0 0 0 0 1 0 8 2
08 H 00000 o .1 1 1 1 1 0 0 7 3 Hmh 2.27. Mot vung trong bt) nh6 lien tuc ..

62

NHAP MON 00 HOA MA Y TINH

• •

(ii) T~p kj tu voi BiTBI~T

Tap cac ky nr Cl) th~ dU(.1L' sinh fa nho sir dung phuong phap BiTBL T.

D~c bier, tap cac ky tLJ duoc hru tr11 trong mQl vimg b(l Ilho. Khi do m<)t bang tra (lookup table) <.hr\l'c sir dung d~ 1fO toi cac dia chi bieu dien ky it! nrong ung v6'i phim duoc nhan.

2.iO. "lEU l:"NG C( A CHl]YEN DOl PHAN HIND



-

Cac nha thiet kc phan mern d6 hoa nUIY tfnh phai d6i driu voi rat

nhieu van d~ trong khi thiet kc, Khong Ct) 1119t giai phap nao co the goi 13 hoan hao hoac phu hop v{ji tat ca cac irng dung. Phdn sau sc de cap toi nhirng van d~ thirong g~p trong cac phan mem d6 hoa may tfnh khi Him' viec voi cac thiet hi raster. £>6 la cac hien nrong: rang cua (aliasing),

cuong dO kh6ng d~u; ch6ng toverstrick) va "picket [ence",

(i) Rang cua (Aliasing)

Tl1 uat 11 C ir "ran g etta" ell i cac di~nl khi vc c{) vi trf khac voi vi trf

• ""- c..... ...

thuc su d~ phil hop vrri di01n trong raster do tfnh d1i rae t\f nhien cua cac

di~m anh. Chang han, vi tri thuc S1)' cua di~rn trong hlnh 2.28 duoc cho

hbi phuong trlnh sau:



\' :: nIX + /J
t r()11 g do /) - 1
---
"-
tIl - 0.5
_:t - :3
- Tiuh then y thl V! trf thirc sV H, (3. 2.5). Tuy nhien, raster khong chap. nhan cac V! tri ell gia tri le. Do do diem dU<JC ve b vi tri xap xi (3, 3) (xem hinh 2A2X).

(~lilr(1N(i 2. (~I-Il JYf~~N DOl PIIAN lliNll

63

y V ~ trf rang eua cua diem

.r

- "-.

o

1

......._

Vi til thirc su

. .

'I .. !:I'

cua diem

a

o

1

.....___...__.,..____--__._. ------~

o o

o 6 _j 1 ~< 0 0 0 0 0 0

1

2

x

x

Hinh 2.291 Hieu mlg cua cuong d¢ khong deu.

Hien ttlqng cu'O'ng dO khong d0u .xay ra do sir cam nhan cua con ngtrai v~ anh sang phu thuoc van 111*t dO va cirong d¢ cua nguon sang. Do do, tren cac thiet bi hien thi raster vdi cac 0 vuong chinh xac (perfect

squarenessy th) duong cheo cua cac di~nl anh se dai han cac canh nam

")-

n~ang hoac cac canh thang dlfug (xern hlnh 2.29). Nhu trong hinh 2.29,

cac diem anh nam tren dw\ng nam ngang co vi trf Him each nhau Iii 1 don vi troug khi d6 cat: diem anh nam tren duong cheo co vi trf each nhau xap xi 1 ,414 don vi. Sir khac nhau ve cirong d¢ nay sc da.n t6i st!

:am nhan khac nhau v0 dO sang. Cac nha thiet k€ phan mern co thi tnl oi hien nrong nay then mot trong hai each sau:

1. Neu t6c d¢ chuyen d6i phan hrnh 13. quan trong s6 nl()l thl hien nrong ctrong dq khong deu co the duoc bi) qua.

' ...

2. etlang dl) khong d~u cua cac-duong thang ico the duoc khac

phuc bang vice l(lng so diem anh tren dirong chen.

(iii) In cluJng ( Overstrike)

H icn luqng. nu y xay ra CUIlf. nll}t diern anh duoc viet ra nhieu lan.

Tionu nhieu (rn~ dung, in ch()ng co anh huang chut It toi d:1u ra cua h~ ht)ll~ dtl hoa raster. Thul111!! thulm~~ 110 lam giam t6c dq cong viec do phai gianh thai ~ian ~t~ chuyen d6i phan hinh cung mot di~m hai hoac i Il1 i cuI all.

..

64

NHAP MON 00 HOA MAy TINH

• •

.

(iv) Hien tutmg TaO can (The Picket-Fence Problem) .



Hien tuong rao din xay fa khi ngiroi sir dung muon chuyen d6i phan hinh m¢t d6i tirong khong c6 vi trf chinh xac trong raster (xem hlnh 2~30).

1

..

HIDb 2.30. Anh g6c. Hloh2.31. Rang cira cue be.. Hinb 2.32. Rang cua toan C1J.C.

o .

,

Ngiroi thiet -k€ phan mem d6 hoa phai quyet dinh xem khi nao tht su ..

, I

dung ding cua toan cue hoac cue bo, V 6i nhtrng rang ciraicuc b~,thl

.. • I I

khoang each gitra cac coc trong hang rao CQC se diroc giii g~~_vai khoang

each thuc su co th~. Tuy nhien, toan h¢ chien dai cua rao se bi b6p mea (hinh 2.31). V6i rang cua toan cue, toan bi} chieu dai cua rao se duoc Hlp xap xi nhung khoang each giira cac coc se hi b6p meo (xem hinh 2.32).

Khi fang cira gay kho khan cho cac nha thiet ke' he th6ng d6 hoa thi viec tang d(> phan giai se rna ra mot giai phap thea huang khac eho van de nay. Nhu vay, mat d\J cua cac di~m anh se tang len nhanh chong Him cho mat con nguoi kho co th~ phan biet duoc hien nrong rang cua nay.





..

. Chuang 3

, .,.. ~,l '- A'

CAe PHEP CHUYEN £101 HINH HOC HAl CHIEU



3.1. GIOI THItu

..

Van de eel ban cua cac h~ th6ng de; hoa may tfnh IA kha nang rna phong s,! .chuyen d¢ng cua d6i tuong trong khong gian hai chien (2D) va ba chieu (3D). ·cae qua trinh nay bao gorn phep tinh tien, phep quay, phep co dan va phep liy d6i xtrng. Cac phep tfnh toan diroc me, ta diroi dang cong thirc toan h9C d~ phil hop vOi xu ly cua may tinh,

C6 hai each nhin trong viec mo ta s\I chuyen dong cua d6i ttrong.

Thir nhat, ddi tuang tv chuyln dong trong m(Jt hf toa d¢ dung yen. Bi~u dien dudi dang toan hoc cua loai thtr nhat nay qua cac phep chuyen d6i hmh hoc (geometric transformations) ap dung vai tung diem ciia d6i tuong. Thii hai, d6i tuong dirng yen con 'h~ toa dl} di chuyen quan h~ vci

,

. d6i nrong. Do d6 phai ap dung cac phep chuyen ddi toa d¢ (coordinate

transformations) de mo ta su chuyen d~ng. Ching han, 6t6 di chuyen · tren duong, Ltic nay thl 6t6 chuyen d¢ng con canh v~t dung yen. Do d6 phai ap dung cac phep chuyen d5i hinh hoc ~~ rno ta 8\1' chuyen dl)ng nay. Tuy nhien, ta co tht nhin tren quan di~m la 6t6 dung yen con canh v~t xung quanh chuyen d¢ng. Trong tnrong hop nay, ap dung phep chuyen d5i toa d¢ de mo ta s\! chuyen dong. Trong m¢t viti tnrong hqp~

...

ca hai phuong phap tren deu dugc si'r dung,

Cac phep chuyen d6i toa d~ d6ng vai tro quan .trong trong viec minh chrrng su co mat cua mot d6i tuong trong t~p cac d6i nrong (object-the

,

placement of objects). M6i mot d6i tirong c6 mot h~ toa d<) rieng ella II,':

A "" ~ ~ I'

NHAP MON DO HOA MAY f'fINH

. ..

~-- ,_ ---~-...---------------------.......,._~-

Khi dat mot d6i ~Llqng vao mot t~p cac d6i nrong dii co truce thl tap cac d{)i tirong nay chi co mot h~ tea d¢ chinh, va toa de> cua m6i d6i tirong phai duoc chuyen d6i thanh toa d9 trong he toa d¢ chinh nay.

I·.-I .. P· .. ·:-~-:-;-;· ;-:-: -~-:- •

• -. -.-.-. - .. -.-.-.- •• _ -.-, '_p_ '1.+. _ •.• _P .•.• _I .••• _p ••• I,' .... I_.""" •• "r_ I r _ • r I I _ .. I _ I • _ ••••

. " ~ I:.: .. ~.: _: _: _: _:_: _: _: _: _: _ ~.:.:.: :

.-.-.-.-.-.- .. -.-. -.-. '.p. -. ', - ..

I: :.~.: .. :.:.

1 - '1.-

1 .

:.~ :-:.~ : .. ~

.: .. :.: ... : .. : .. r

... 'I I

.:.:':,-

~-I:"

"

Hinh 3. l , Chuyeu d6i giita to~ de) ciia tirng d6i tUQ11g thanh toa dQ cua tap cac J6i ttrong ..

Gia thiet rang h¢ toa d0 nam tren mot mat phang cho truce. Mot d6i

tl((_tllt: Ob] trong mat phJl1g co th~ diroc xet nhu mot U)p hop cac diem, Ml)i I1H)t diem P se co toa d(l 13. (x, y) va d6i nrong la t~p hQ"P tAt ca toa d() cua cac diem. Neu d6i tl1qng di chuyen tai vi trf moi thl n6 co the dU'(JC xet nhir mot d6i nrong nlai Obj', trong d6 toa d¢ cua t~t ca cac diGITI P' co th6 thu diroc tit cac di~m P cua deli tirong Obj bang each ap

.dung cac phcp chuyen d6i hinh hoc.

"

3.2.1. Phep tinh tien

Troug phcp tinh titn, deli nrong diroc di chuyen t6'i vi trf moi theo I11Qt khoaug each va mot huang cho tnroc tir vi trf cu. N€u V = t, i + II; .i 13 mot vector dich chuyen tht di~m P'(x', y') tren d6i urong nllli 1~1 st_( dich chuyen cua diem P tren d6i tuong truce do duoc xac dinh 1111tr sau:



I}' = T v (P) = P + v

(3.1)

CHUDNG 3. cAe PHEP CHUYEN £){)I HINH HOC HAL CHIEU



67

Bi€u dien dudi dang toa dQ, co:

,

x = .. t +1 x

,

Y = y+ty

(3.2)

Ta co thS tinh tie'n mot d6i nrong bang each ap dung phuong trinh 3.2 cho Uft ca cac di~m cua d6i nrong. M6i mot duong thing cua d6i nrong duoc tao boi vo so diem. Tuy nhien, qua trinh nay c6 the mat rat nhieu thai gian. Thay VaG do, co th~ tinh tien cac diem tren dirong thang bang each chi dich cac dit;m dciu mut va ve duong thing moi gifta hai di~m' dau milt moi sau khi dich. Hinh 3.2 cho ta phep tinh tien hinh dang cua mot ngoi nha theo vector V = 3i - 4j = (3, -4).

y

x

Tnroc khi tinh tien

Sau khi tinh ti~n

Hinh 3.2. Tinh tien mot ngoi nha.

y

y

x

Sau khi quay

Tnnrc khi quay

Hinh 3.3 ~ Phep quay mot ngoi nha ..

x



68

~M6ND6HOAMAYTINH

.. ..

3.2.2. Phep quay quanh goc

..

. M¢t di~m c6 th~ diroc quay quanh g6c mot g6c 8. Quy ucrc quay nguoc chieu kim dong h6 la huang dirong cua 6, theo chieu kim d6ng h6 la hirong am cua e. Trang phep quay R« (quay quanh g6c mot g6c 9),

..

di~m P' (x', y') rnci diroc xac dinh nhu sau:

p' _- ReP

..

trong do:

Ra =-

sinS cosB

cos9 -sinS'

(3.4)

1a rna tran quay

Bieu dien d uoi dang toa dO, co

x' = x cos8 - y sin e y' = x sinS + y cos e

Hlnh 3.3 bieu diep ngoi nha trong hinh 3.2. sau khi quay mot g6L 45° quanh gc5c.

(3.5)

..

3.2.3. Co dan doi v6i goc



Co dan lit mot qua trinh dan fa hoac thu nho kich thuoc cua d6i tuong. Hang s6' co dan duong Sx va Sy dung de mo ta su thay d6i d(} dai thea huang true x va huang true y. Hang s6 co dan Ian han mot xac dinh su dan ra cua kich thuoc, hang s6 co dan nho hon m(jt xac dinh su thu nho cua kich thuoc .. Phep co dan S(SX1. Sy) duqc xac dinh boi pI = SP

~ ...... :,. -::;" .........

trong do x' = Sx· x va :,y I = Sy· y. Sau khi co dan, d6i urong se 0 vi tri moi

d6i voi 'g6c qua phepco dan. Thuc te, trong phep co dan chi c6 g6c lit c6 vi trf khong thay d6i. Hlnh 3.4 cho thay phep co dan vci h~ s6' co dan

S x = 2 va S; = ~ ·

Neu Sx = SY' ta co phep ddng dang hoac co dan deu, neu s, *' Sy ta c6 phep co dan khong deu.

...

CHUONG 3. cAe pREp CHllYEN D61 HiNH HOC HAl CHrnu



69

,

y

y

1

2

.p

2

..

1 [ ]
• pI
~

1 2 x 1 2
3 4 x
Tnroc khi co dan Sau khi co dan Hlnh 3.4. Anh huang cua phep co dan.

3.2.4. Lay doi xang qua met tr1J.C

Neu mot trong hai true x va y ducc chon lam true de lA'y d6iXUng thi d6i tuong co anh d6i xirng qua true d6. M¢t di~m P' la d6'i xrrng cua P qua true x dUQ"c xac dinh qua phep chuyen dOi M; nhu sau (xern hinh 3.5):

,

P ='Mx (P) ,

~ t

trong d6 x ' = x va y = - y.

Tirong tv, lay d6'i xirng qua true Y la



r' = My (P)

trong d6 X'::7 -x va y' = y.

y

P' (.x. y) ,

.-~- .. - .. -- - ... ~-- ... -, p (x~ y)

II ill

I

ill .. I

II

I

• II

ill

ill

i -

ill

.. . .

. ~":P' (X,:"y)

x

. •

. .

'. -

Hl~h 3.5. Phep l(y d6i x(in.g.

70

..

..... ........a ;-,.

NHAP MON 00 ROA MAY TINH

• •

3.2.5. Phep chuyen d6i hmh hue nghich dao

M8i mot phep chuyen d6i hinh hoc deu co nghich dao mo ta boi phep toan nguoc va cling bi~u di611 phep chuyen d6i.

Phep tinh tien : 7~·1 = T_ v , tinh tien thea huang ngiroc lai.

Phep quay: Rill = R.«, quay thea huang nguoc Iai.

DC)i xirng: M~l = M ve M ,1 = M

~ x )' y

3.3. H~ toa de) thuan nhat va ma tran bieu di~n cac phep chuycn d6i blob hoc hai chieu



Ma tran bi~u dien cac phep chuyen d6i hinh hoc tnrrrc do, tru phep tinh tien, diroc tao bci tfch cua hai rna tran, Rieng phep tinh tien, rna tran bieu dien la tdng cua hai rna tran. De bi~u dien cac phep chuyen d6i mot each nh~t quan, can phai ket hop cac each chuyen d6i nay. Do d6 dira ra

.

toa d(J thudn nhdt. Toa d~ thuan nhat duoc phat tri~n trong hlnh h9C boi

Maxwell (1946, 19,51) va sau d6 dugc ap dung trong d6 hoa (Roberts, 19~5), Blinn (1977), Blinn va Newell (1978). Cho d~n nay, ra't nhieu g6i dohoa va cac he> xu Iy hi~n thi lam viec voi toa dQ thuan nhat va cac

. phep chuyen d6i.

Trong toa dO thuan nhat, them VaG thanh phan thir ba trong toa d¢ cua mot diem trong khong gian hai chieu, Di~m Pix, y) duoc bieu di~n bai (x, y. w). Hai toa d() thuan nhat (x, y, w) va (x, y', w) bi8u dien cimg

. ,

mot diem neu va chi neu chung 13. tfch cua mot b¢ ba voi mot hang s6

nao do. Ching han, (2, 4, 7) va (4, 8, 14) bieu dien cling mot diem thea

.

hai be, ba toa do khac nhau. M5i mot di~m se co nhieu toa d6 thuan nhat

.. ... .. .. .

khac nhau. Nhu vay, It nhat mot trong cac toa d¢ thuan nhat phai khac 0:

(0, 0, 0) la khong dung duoc.

Neu toa dl? w khac 0, ta co the chia cho n6: (x. y, w) bi~u dien cung mot di€m nhir (x/w, ylw, 1). Khi w khac 0, ta ap dung phep chia nay va khi d6 cac gia tri xlw va ylw diroc goi Hl toa dq Decard ella diem thuan

,

(~HlfdNG 3. (:A(~ PIll~P (~HlJYEN DOl HINH HOC HAl C~l-rIElJ



71

nh~t. Di8m co l1' = 0 duoc goi Itt di~m vb cling.

B¢ ba toa d() bicu dien di~m trong khong gian ba chien, nhirng a day lai la bieu dien dienl trong khong gian hai chien. M6i quan h~ Ct day la: t

n€u lay tAt ca cac h() ba co cong thirc (tx, ty t rw) voi f * 0 bieu dien cua

-) .,. .

cung mo: diem thl ta se co mot duong thang. Nee Him thuan nhat

di~m (hang each chia eho w). ta co di6m ducc bi~u dien theo cong thtrc (x. v, 1). Cac di~nl duoc thuan nhat se nam trong ma: phang co w = 1 troug khong gian (x. y. w). Diem a v{l cling khong duoc bi~u dien trong

'J"

mat phang nay ..

i /

~----+' ~--~

~

y

./ "

.. ".

- •• I·

. -:- •• pl."

••• ' ••• r •••• r ..... - ..... , ..... , •• _N··· Y

x

HIDh 3.6. Diem P{x. y, w) duoc chieu len mat phang w = L

1. Phep tinh tien cua pmrong trlnh 3.2 dUQ'c bieu dien nhu sau
, 1 0 tx xl
... T
, 0 1 t. v
y -
-
• -
1 0 0 J I hoac:



P' = T.P

Trang do:

1 0 tx T = 0 1 ty o 0 1

...

72

• I

NHAP MON D6 HOA MA-y TtNH

. ~

..

, ·cose
'X
, sinS'
y _.
-
1 0 hoac:

...

, .

P = ReP

Trang d6 R« co cong thirc:

cosB -sinB 0 R8 = sinO cose 0

o

o

~ 3. Co .dan d6i vC1i g6c:
x' Sx 0 0 x
y' - 0 Sy 0 Y
-
1 0 0 1 1 hoac:

..

trong d6:
Sx 0 0
S - 0 Sy 0
-
0 0 1 4. Lay d6i xirng qua true x duoc:

P' = u, P

trong do Mx la rna tran:

100 "M = 0' -1 0

x

001

.. ,

1

..

I

. CHUdNG 3. cAe PREP eIIUYi3N DOl HlNH HOC HAl CmEU



73

5. La:y d6i xirng qua true y, duqc:

r = M P
y
trong d6:
-1 0 0
M:=! 0 1 0
y
-
0 0 1 3.4. cAe PHEP CHUYtN 861 TOA B(}

... . ,

Gia thiet c6 hai h~ toa d¢ trong m~t phAng. H~ toa d¢ thrr nh:lt c6 g6c C1 0 va c6 cac true toa dO 13. xy. H~ toa d¢ th~ hai c6 g6c a 0' va cac true toa d(l Hi x'y' (hlnh 3.7). M5i milt diem trong mat phang duoc mo t3.

. .

bai hai toa d() nhir sau: (x, y) hoac (x', y') phu thuoc vito h~ toa d¢ rna n6

dang thuoc. Neu h~ toa d¢ thu hai x'y' xuat hien do ap dung phep chuyen ddi len h~ toa dO thir nhat xy thi ta n6i rang ap dung phep chuyln



..

dtfi tOtj~9. Phep chuyen d6i nay dl1qc me, til bing each xac dinh m6i

quan h~ cua toa dl) (x', y') vai (x, y).

: .

.. ..

y

y

0'

P(x, y) (x~ YJ

............. ~....... . ~ ~~

. :....... x' ~

• •

j • P(x,y)

• •

; (x~y?







. I

t!IIIX

Y ..

,...

y' """ .....

o

..

0" fir.. X

.. ...

"'II

..

Hinh 3.7. Phep chuyen ddi toa dl).

Htnh ~.8. Phep quay toa dQ •



, J

3.4.1. Phep tinh tien

Neu h~ toa dt} xy diroc dich chuyen tai vi trf moi, trong d6 hirong va khoang . each dich chuyen dUQ'c choboi vector V = t) + t,J, thl toe, de»

74

NHAP MON 00 HOA MAy TINH

• •

ella mot diem tuong irng trong hai h~ toa ~9 quan h~' voi nhau theo phep tinh tien 7:,:



(x' y,)t = 1:. (x y)'

trong do x' = X -tx' Y I = Y - ty ,va t la phep chuyen vi.

3.4.2. Phep quay quanh goc

H~ toa d9 xy quay mot g6c eo quanh g6e (hinh 3.8). Toa dl} cua mot di~m trong hai he toa dl) se lien h~ voi nhau qua phep quay No:

-

(x',y,)t = Ro (x.j-)'

trong d6 x' = x cosO + y sinO va v' = -x sinO + y cosO.

3.4.3. Co dan doi vui goc

Gia thiet rang h~ toa de) moi duoc xac dinh hang each thay d6i dan vi do theo true x va true Y nhung goc va cac true toa d¢ khong thay d6i. Neu cac don vi do moi dtroc xac dinh tu dan vi do eli thea don vi co dan

• ...... to

s, d9C thea true x va s;' doc theo true Y thl toa dq trong he rnrri se quan h~

- -

voi toa dO trong h~ eli qua phep co dan S =, S(sx, Sy):



(x' y'Y = S(x y)'

trong do x' = +ls, . x va y' = 1/ Sy • y. Hlnh 3.9 bieu di~n phep co dan 1

toa dQ vai h~ s6 co dan Sx = 2 va Sy = '2 ·



• r (2~ 1)

]

y'

y

2

. 1

()

I

2

x

()

1

2 x'

(a) Don vi cu

(b) Don vi 11161

Hinh 3.9. Phep co dan toa do.

C~HlJdNG 3~ cAc~ PHEP C~IIl.NEN DOl HINH HOC: HAl (_~HIElJ

75

.3.4.4. Lay doi xUng qua met true

Neu h¢ toa ~Q rnrri duoc xac dinh bang each l!y d6i xrrng h~ toa dl) cil qua true x hoac true y thl m6i quan h~ giita hai h~ toa dO duqc xac

dinh bang phep chuyen d6i toa d~ Mx va My:

D6i xtrng qua true x

(x' y')' = Mx (x y)'

trong do x ' = x va y' = - y.

_V' _v

It P (l~ I) - (-I ~ I)'

,

................... .,. ...._____. _ _..

• '0,

x' 0

1 -1

x

"lob 3.10. D6i xrmg toa (It).

Lay d6i xtrng qua true y nhu hinh 3.10

(x' y')' = M v (x yf

.

trong d6x' = -x va y , = y.

D6i xtrng h~ true toa dO la ban tay trai. Do d6 phep d6i xtrng thay d6i huang cua h~ toa dq.

3.4.5. Cac phep chuyen doi nguqc

Phep chuyen d6i nguoc thu duoc bang each nghich dao phep chuyen

d6i toa dO nrong ling. '

Tinh tien : 7;.-1 = T." , tinh ti~n theo huang nguoc lai.

Quay : (~ri = R.» , quay theo huong nguoc lai

76

NHAP MON DO HOA MAy 11NH

. ~

-1

- -

Co dan: S (s , s) . = S (1/ S ,1/ s )

~ y x . y

D6i xring : (Mx)-l = M x va. (My)-l =.My



. .

3.5. K~T HOP cAe PREP CHUY~N D6I

..

3.5.1. Ket hqp hai phep tinh tien

~ ,

P diroc tinh tien thea T (t;t' ty) toi P', sau d6 P' duqc tinh tien thea T'

(t 'x, r, ) too P". Thie't l~p phep chuyen d6i tit P tei P" nhu sau.

Vi~t: .

P' :;;: T P . P" = T' P'

. ,

..

..

P' = T' (TP) = (T'T) P

Vi T.P co cung cap vdi T' nen : P" = (T'; T).P .

Nhu v~y T'T la mot phep tinh ti€~ theo vector V = T+T'.

It

.

3.5.2. Ket hop hai phep quay quanh g6c

Gia thiet P quay hoi Re quanh g6c thanh P'; va P' quay bCri. Rei thanh P". Vi~t phuong trinh nhu sau:

J

~

CHUdNG 3. cAe PREP cHt1YEN DOl HINH HOC HAl CHrEU

. .

77

. P' = Rs' P' =: (Ref Re)P

.

· Sir dung toa d¢ thuan nhat, c6:

x" cosO' -sinO' 0 cosO ... sin9 0 x y" = sinO' cosO' 0 sinO cosO 0 y

1

o

o

o

1 ·1

cos 8 cose' - sine sinO' - (sinO cosOf.+ sinO' cosO) 0 x

cos (J cosO' - sinO sine'

- sin f) cos ()' + sin 0' cos (J

o Y 1 1

o

o

..

y 1

x

- sin(8 + Of) 0 cos (0 + 0') 0

o 1

cos (0 + 8) = sin (8 + 8') o

Nhir vay P" xac dinh tu P boo phep quay R9+a' quanh g6'c :

Re' Re = Re+6f

3.5.3. Ket hc;tp hai phep co dan

GiS. thiet P' dUC1C xac dinh tir P bOi rna tran sau:

•• •

·sx 0 0 S(Sx,Sy) = 0 Sy 0 o 0 1

P" diroc xac dinh tit P' bOi·:

... ..

s~ 0 0 S'(s~,s;)== 0 s~ 0 o O· 1

Nhu vay, co:

P" == SP' = SSP

78

NHAPM6Nv6HOAMAYT~

..

Bi~u dien diroi dang toa dq thuan nhat, co:

. r" , 0 0 0 0
Sx ~5 x X
" 0 , 0 0 0
v - ~5 y ~S- ~ Y
-
..
..
1 O· 0 1 0 0 1 1 I~ xSx ,0 0 x
.
I'
- 0 .5 y~5 y 0 y
--
0 0 1 1 Do do, ket hop cua hai phep co dan cling la mot phep co dan.

3.5.4. Cac phep chuyen d6i ket hop t6ng quat

Phep chuyen <.lui ket hop t6ng quat co th~ diroc tao fa bang each ket. hop cac phep chuyen dcii C(1 ban.

Vi du 3.1. Quay quanh mot di~m bat kyo

Ket hop ba phep chuyen d6i sau de diroc mot phep quay quanh di~m

.~

· PI mot g6c 8:

Tinh tien P I (XI' YI) v~ g6c bang T( -x., - YI)'

Quay mot g6c e quanh g6c.

Tinh tien P 1 v~ V! trf ctl bang T(x".v,).

1 0 Xl cose - sin f) 0 1 0 - Xl
j
- 0 1 y! sinO cosO 0 0 1 - y\
-
0 0 1 0 0 1 0 0 1
cosO - sinO, XI (1- cose'j+ YIsin8l
sinB cosO YI (1 --- cose') + XI sin f)
0 0 1 Tuy uhien, ta cling co the thuc hien thea cac buoc sau:

CHUONG 3. cAe PHEP CHlJYEN n{'>I HINH HOC HAl CfIlEU

..

79

-

Tinh lien h~ true to~ d() v~ P I (XI' YI) bang T( -Xl' - YI)'

Quay nll)t gac e quanh P, (x., Y1)' nrong duong quay quanh

,.

goc.

-

Till h t i6n he true toa uo v~ vi tri cu.

. oil........

Vi du 3.2. Co dan quanh 111\>1 diem bat kyo

:")

De co dan n1Qt d6i tuqng quanh mot di~m bat ky P, (x., YI)' thirc -hi¢n

thco cac hlrllc sau:

- Tinh ti~ll PI v~ OClC bang T(-x -v)'

• C'"' ]", .. 1·

- Co dan quanh PI.

- Tinh ticn PI ve vi trf han dfiu bang T(x •. YI).

Ma tran chuyen d6i cuoi cling nhu sau:

T(x1.y) 0 S(sx's ,J 0 T( -XI' - y,)
1 0 _:t l L~ 0 0 1 0 -x
x 1
- 0 1 .. VI 0 S 0 0 1 -Yl
-
" Y
0 0 1 {} 0 1 0 0 1
s~ x 0 ~t I (1 -.5 x)
- 0 ~S v Yl(l-,,;v)
-
0 0 '1 ')

Tuy nhien, ta cling C(_1 the thuc hien thea cac butte: tinh tien h~ true

toa dt) ve PI(x., Yl); co dan quanh. PI(X" y,) urong dUo'ngv6i co dan quanh g6c; tinh tien he true toa d¢ tra lai vi tri ban dau,

-.

3.6. PHEP CHUYEN n61 QUA~ SAT HAl CHI~U V A CAT HINH

D~ bi~u dien hinh anh cua m¢t vat, ta phai anh xa toa d¢ ciia tat C~l cac diem va dirong tao nen vat do thanh toa dO nrong ung cua thiet hi hoac tram HIm viec noi rna hlnh anh diroc hien thi. Nhu vay, phai su dung cac phep chuyen ~6i toa -dO goi lit chuyen d6i quan sat tviewing transformations). Sir dung cac ten sau cho cac he toa d¢ khac nhau:

80

NHAPM6N 00 ROA MAy TlNH

• •



H~ toa dl) th€ gioi thuc (World Coordinate System: WCS) la h¢ toa d¢ Deeard tay phai dung d~ bi~u dien toa d~ cua mot vat. H~ toa d¢ thiet bi v~t ly (Physical Device Coordinate System: PDeS) 13. h~ toa dO tuong

trng voi thiet hi hoac tram lam viec trong d6 anh cua mot vat hoac mo

hinh duoc hien. thi. ..

. ..

~

Khi c6 nhieu thiet bi hien thi thl m6i mot thiet hi c6 mot he toa d6

• .. • .. • III • •

vat ly rieng, Di~u nay rift thuan lei trong viec dira ra mot b~ m~t hien thi

logic hoac ao voi h~ toa dl) chuan.

H¢ toa dti thiet bi chuAnhoa (Normalized Device Coordinate System: NDCS) la h~ to" d~ tay phai trong do viing hi~n thi cua thiet bi

hi~n thi nrong trng 1 x 1 v6i mot hinh chit nhat don vi rna g6c tren ben trai 13 g6c cua h~ toa d(>. Trong cac phan trlnh bay dirci day, de phil hop vci th6i quen sir dung toa dl) nen g6c toa dl} duoc dat & g6c diroi ben trai va khi hien thi that su tren thiet bi man hinh, can chuyen h~ toa dQ v~ h¢ toa d¢ man hinh thea cong thtrc chuyen d6i nhir se trlnh bay duoi day,

3.6.1. Chuydn d6i quan sat

Cac phep chuyen d6i quan sat anh xa cac toa dQ cua mot vat trong WCS thanh PDCS duoc thirc hien boo cac phep chuyen d6i sau: phep chuyen d6i chuan hoa (normalization transformation: N) anh xa cac toa d¢ th€ gioi thuc thanh toa d¢ thiet bi chuan hoa, va. phep chuyen d6i tram lam viec (workstation transformation: W) anh xa toa dt} thiet bi chuan hoa thanh toa d¢ thiet bi vat 1Y. Phep chuyen d6i quan sat V diroc



xac dinh nhu sau: V=W4tN~



+

(i) ella s6 vii khung nhin

De xac dinh cac phep chuyen d6i nay, ta g~p phai van de 18. WCS 13. v6 han (thuc t€ n6 diroc giai han hoi khoang dau ph4y d(Jng rna may tfnh ~ir dung) trong d6 vimg l)ien thi cua thiet bi lai co gioi han, D~ bieu dien chuyen d6i quan sat, ta chi lam viec voi mot vung gici han trong wcs ducc goi la cira s6, (window). Cira s5 c6 the dircc anh X~ true ti€p

thanh mQt viing hien thi cua thiet bi goi Hr khung nhin (viewport). Phep chuyen d6i chuan hoa anh xa mot cira s6 trong khong gian toa dQ th€

I

CHU'dNG 3. cAe PHEP CHUYEN f)61 HINH HOC HAl CHIEU

,

81

.....

gi6i thuc (World Coordinate: We) thanh khung nhln trong khong gian

toa dO thiet bi chuan hoa (Normalized Device Coordinate: NDe).

"

Cira s6 va khung nhin dL1<Jc bicu dien hoi cac hlnh chit nhat rna cac canh cua chiing nrong irng voi cac true x va y (hinh 3.11) va rna tran ella phep chuyen d6i duoc bieu dien nhu sau.

-. 0 (-sx · XW mill + XVmin)
N (h()~C W) = 0 -. (-Sy · yw min + J'l'min)
0 0 1 trong do

Yv ~ l~lJ .

" In~x·' UHH

va s ::: .-.....------\'

nv ~ X\,t' .

111ax nuu

.rv. yr chi toa d() cua khung nhin con .rw, yw chi toa d(l ella etta s6. ~

T oa do thiet bi chuan' hoe .

T oa de? the giai thirc

Toa do man l1nh

v

w

( ...... ') ..:! .ira so .;

"

]

I

wWrnax

..t1Jmax



YVmin

_p'

• • ..

... .. ..

TJ

• • • • ..

• • • • • •

ill .. It • • .. It It It .. It

O .nvnrin

P"==N .p

Hmh 3.11. ChUY~ll (Joi quail sat. _.

. Bang each sir dung cac phe}1 chuyen d6i toa dl} thich hqp, ta eo th~ tao ra cac phep chuyen d6i quan sal cho etta s6 18. hlnh chir nhat da: quay di mot g6c nao do hay tham chi voi ca tnrong hop cira 56 va khung nhln

kh6ng phai lit hinh chit nhat. '

(ii) Ty l~ co dan

Phep chuyen d6i quan sat bao g6m ca phcp co dan. Truong h'7P hinh h! bien dang hay con g9i la co dan khOng _d~u thi Sx # Sy. Chfing han, hlnh

82

A ...... ~ ,#,.

NHAP MON'OO HOA MAY·TINH

• t -

tron nam trong cira sO CO the diroc bieu dien thanh hlnh elip con hlnh vuong tht duoc bieu dien thanh hinh chtt nhat, De xet .cac dieu .kien bien dang nay, ta dua fa h~ so co dan.

Ty l¢ eo dan cua cira s6 hoac khung nhin Ia mot hinh ehft nhat dtroc xac dinh boi:

III

,

• • 1.·II-)..-iIij,I..._

Xma.x - X min

a=----

Ymax - Ymin

Ne'u ty l¢ co dan a; cua cira s6 bang ty l~ co dan a; cua khung nhin thi Sx=Sv va khong xay fa bien dang (hinh khong bi ph6ng to hoac thu

~

t ,

nho theo cac true). Ncu a; :t= a, thi xay fa bien dang, Trong tnrong hop nay, mo taO mot vung , nam trong khung nhin boi khung nhtn con (subviewport) rna no tuong irng v6i ty 1~ co dan cua cira s6. C6 th~ xac dinh lai phep chuyen dc5i quan sat sao cho cira s6 ducc chuyen thanh

khung nhln con (xem hlnh 3.12). c

..

Khung nhin
con trung tam
a=l
.. ....

Cira sf)

llw = 1

Khung nhin a, == 4/3

Hinh 3.12. Cira sO duoc chuyen d6i thanh khung nhin con-

.

3.6.2. Cat XeD va che

Hfiu he-t trong cac truong hop, ta chi mu6n bi~u di~n mot phan cua vat nhu tr~g hinh 3.13.

~

Trong trllong hop nay, cira 56 se la mot phan cua v~t se duoc hi~n thi

(ttrong tv nhu khi ta cal mot birc tranh to' tap chf), Dieu nay duoc goi la cat: xcn hlnh. Qua trlnh cat xen nay duoc thuc hien nhu sau: xac dinh xern phan nao cua v~t narn trong cila s6 va phan do se duoc nhin thay. N gaqc lai vci car la che phu phan cua vat, Nmr vay, phan bi chc phil se

CHUdNG 3. cAe PHEP CHlNEN DC)! HINH HOC HAl CHIEU

..

83

khong diroc nhin thay.

Thuat toan Iva chon d~ eat xen phu thuoc vao be m~t hinh hoc ella

., ~ ..

cira s6 cat ..

..



- 'Khung nhin

.,. J. ...

Cira so cal .

Hinh, 3.13 MQt phan cua "(1t duoc hien thi ..

(a) Ctca s6 edt hinn chiinhat (Rectangular Clipping Window)

Gia thiet rang ella s6 la mot hlnh chir nhat rna cac canh song song voi cac true toa dq_ Canh song song voi true x di tit Xmil': t6"i Xmax' canh

song song v6i true y di tir Yrnln t6i Ymax.

(b) Dii'm edt (Point Clipping)

Di~m P(x. y) nam trong cira s6 (ducc nhin thay) neu thoa man 'd6ng thai hai bat d5.ng thirc sau:

,.. <"'\ .. <x

- nlin- A,..__ Inn x

'? '

Neu mot trong cac hai dang tlurc tren khong thoa man thl P nam

ngoai cira s6 va no se khong duoc hien thi.

Mot d6i tirong diroc coi Hl t~p hop t~t ea cac diem tao nen d6i tuong

.,.

d6. Nhu vay se khong d~ cap tai cau true vcSn co cua d6i tirong chang

o

han nhu duong va da giac d~ thuat toan lam viec hieu qua han.

o • • ~. _ 0 0 r . .

( c ) Doan thdng cd~ ..

Qua .trinh cat mot doan thing dugc . chia lam hai bl1~c nhir sau: (1) xac dinh cac duong-thing· can cAt :giaov6icira s6.va (2) bieudi!n c~t.

84

NHAP M()N £)6 HOA MAy TfNH

4 ..

~~~.- ---~~~~~--------------------------

Tal ca cue doan th~ng c.t~u nam van In(lt trong nhirng kieu cat sau:

1. N hi II (jury: Doan thaug narn hoan loan trong cira sd. Ca hai diem do1u 111(11 cua doan lhting d~u nam trong cira s6.

1

1

B

(_-'l

\'~,r.'~._ ... , ------------------------ .... -

• (J -.----- -- ---. - _--- __ - - --.

.1

.1 '

L E

K

H

H'

I

.G'

I 1 I I t

• ~

4

..



2. Khong nhin [Jury: doan th~ll~ nam hoan toan phia ngoai cua etta



s6. Di~u nay X~'lY ra khi doan thang itt (XI_ Yt) t6'i (X2' Y2) thoa man mot

trona hOll hat dilllg thirc sau:

"- "-

3. Doan thdng (hl<1'C ('(1t: doan thang khong thuoc loai m¢t hoac hai. Troug hinh ~. 14. doan thAng AB thuoc loai 1 (nhin thay); doan CD va EF thuoc loai 2 (khong nhin thay): doan Gl}, If va KL thuoc Ioai ]

(doan thang dU(.1C Glt).

Thuat toiin Cohen-Sutherland giup ta each phan loai cac doan th~ng.

C~lL Qua trinh cua thuat tuan ducc chia lam hai buocnhu sau:

1. Gan Ina 4 hit cho cac diem d~u rmit etta doan thang, Ma dtroc xac djnh phu thuoc vaomot trong chin vimg nla diem d6 nam.

CHlfONG 3. cAe PHEP CHlrvEN DOl HINH H()C HAl CJ-IIElJ

85

1 oo 1

1000 1010

x > Xmax

0001

OOOf) 0010

01 () 1

()100 0110

Bat ddu ttr hit trai nhat, tn6i mot hit cua rna duoc d~t Ht true (1)

hoac false (0) thea CO' che sau:

Bit 1 == diem dau nuit b phia tren cua etta s6 = dau (y - Ymax) Bit 2 == diem d~u nuit b phfa dtrrri cua etta s6 = dau (Vrnin - Y)

Bit 3 := dienl dau null (1 phia ben phai ella cira sd = dau (x- Xm3X) Rit 4:.: diem d~u mut cr phia ben trai ella cira sd = dau (Xmin - .r)

Quy uac rang dau a = 1 neu a duong, 0 trong tnrong hop ngucc lai. Mot di~m co rna iiI 0000 se narn trong cira s5.

Nhu vay, nhin vao gia tri cac bit ciia ma me>t diem se biet diroc diem

';II

do thuoc vung nao cua m~t phang.

Bit 1 ::: 1: xac dinh vimg Cl) Y > Yln~x Bit 2 = 1: xac dinh vimg co ~v <Ylnln Bit 3 = 1: xac dinh vung co _\~ > ·'''nUlX Bit 4 = 1: xac dinh vimg co .v < Xmin

2. Doan th~ng diroc nhln thay neu rna ella hai dAn miit HI. 0000, khong nhin thay neu phep logic AND cua hai rna 13. khac O. M¢t doan thang se dUQ'C cat neu phep logic AND cua rna cua hai diem dAu rrnit la

0000.

Sau day se xac dinh xem doan thang thuoc loai 3 se giao v6i cira s(1 va dUQ'C cat hoac khong giao voi cira s6 va kh6ng dtroc hi&n thi.

~ ~

( d) Giao va cat cac doan thdng

Ta xac dinh giao diem cua duong thang trong loaiS (duong thang se cat) voi cac canh cua cira s6. Cac giao di8m nay se chia doan thang thanh cac phan nho han va no se thuoc ve loai mot (nhln thay) hoac loai

..

...

86

. - .. , ...

NHAPM6ND6HOA~YT~

• •

2 (khong nhin thay). Doan thuoc loai 1 se la doan thiing sau khi cat,

Giao diem duoc tim bang each xac dinh giao cua doan thang vai duong bao dong cua cira 86. '

£>6i v6i cira s6 hinh chit nhat rna cac canh song song voi cac true to~· dO, giao diem ella doan thang voi cac canh cua cira s6 diroc tinh d~ dang. Thuat toan Cohen-Sutherland tim ra doan bao d6ng chinhxac bang: each kiern tra rna cua cac diem dau mut. Sau do rna cua di~m giao se ducc xac dinh bang each d6i gia tri cua bit tit 1 sang 0 nrong ling v6i giao vrri dirong nao ella rna d~u mut (xem hinh 3.15).

Thuong thl thu nruu tien d~'ki~m tra cac giao di6m nhir sau: (1) giao voi dirong y = Y rna x con g oi lit: duong 1, (2) giao voi dUfJO g y = Y min con g9i la dU'ang 2, (3) giao voi dirong x = Xmax con goi la duo-ng 3, (4) giao

.

vci dircng x = Xmin congoi 13 ducng 4. ,

Khi nhln vao rna cua cac di~m dau mut thl se bi~t ngay dircc doan

thang nay giao voi cac canh nao.

Neu bit 1 1a 1, giao vai dirong 1. Neu bit 2 la 1, giao v6'i duong 2. Neu bit 3 la 1, giao vdi duong 3. Neu bit 4 Itt 1, giao voi duong 4.

Trong hinh 3.15'1 dean AB c6 rna cua A Hi 0001, B co rna HI. 1000. Do bit 1 cua B 13 1 nen chac chan doannay se cat duong 1, bit 4 cua A 13. 1

. .

nen chac chan doan nay se cat duong 4. Thea thrr tu iru tien, thl tim giao ' cua AB vci dirong 1 truce la B'. B', se co rna la 0000 (d5i dau bit 1 cua B tit 1 thanh 0). Ki~m tra BB' narn ngoai cira s6~ X6t AB' va n6 se giao vai Quang 4 tai A'. Tirong tt! nhu each tlnh truce thi A' se co rna Hl 0000. Ki~rn tra 'th<fy AA' nam ngoai etta s6, A 'B' nam trong cira s6 va 13. phdn

.... ",II. I • .,.. .

cua doan thang sau khi cat.

• •

TUC1ng tv, qua trinh cat doan CD nhu sau:

CD CD' C'D' ~ C'D"

,. -). r ~ ---r

canh l

·canh 2

..

canh 3



CHUdNG 3. cAe PREP CHlIYEN DOl HINH HOC HAl eRIEl]



87

D~ (OO10l (

8.

D 1010)

C (01 (0)

i I I

A

A (00)1)

D~

.,.'rnif1--------~-----~1 -------4~--------------

r I

HIDh 3.15. Giao va cat dean thang ..

Hinh 3.16. Xac dinh cac giao diem.

( e) Chi a nho trung dilm

MOt each tim giao diem bang each giiti phuong trinh dua tren phtrong phap chia doi ella phirong phap s6. Doan th~ng ducc chia tai trung di~m cua n6 thanh hai doan nho hem. Xac dinh xern hai dean thing rnoi thuoc Ioai cAt nao. M5i mot dean thing thuoc Ioai 3 lai diroc chia tie'p thanh cac doan nho han. Qua trinh chia doi va phan loai tiep tuc cho

. ~

t6'i khi tat ca cac doan thang thuoc loai 1 (nhin thay) hoac loai 2 (khong

.' nhln thay). Toa d¢ trung diem (xm• Ym) cua doan thang tit Pj(xt, Yl) t6i

p ~(X2' Y2) ducc xac dinh nhu sau:

Xl + x,

x = ... ·

- m 2'

Trang hinh 3.16, 10 phan chia doi xac dinh giao di~m 11 va ·'2.

Neu cat vdi mot khung nhln trong toa d¢ thi6t bi v~t 1-y, qua trinh chia nhc, trung di~m phai diroc thuc hien cho t6i khi doan th~ng thu diroc nho han d¢ chinh xac cua man hlnh, Neu s6 diem anh ella doan th~ng.lit M. phuong phap chia doi phai chia doan thang thea N phep chia, trong do 2N ::: M hoac N = log2 M. Ching han, hien thi raster v6i kich thiroc

512 x 512 can nhieu nhat N = log2 512 = 9 phep chiao

(/) Xcic dinn giao dilm cllo hai doan thdng

Xet hai doan thang AB va CD co toa c9 cac diim dAu rrnit nhu sau:



NHAP M(')N D6 HOA MAy TfNH

• •

A.«(/x, ay); Btb ; by); C(cp cy); D(dx' dy). Kiern tra xem hai doan th~ng nay c~t nhau hay khong? Neu co hay tinh giao di8m cua chung .



Bi~u di~n doan thang theo tham s6 nhu sau:

P AB = A + (8 - A).t f)< f ~ 1 P CD = C + (D - C). v 0< \.' < 1

Bieu dien thea toa d(> x va y cua tung doan thang, ta duoc

"')I

Doan thang AB:

·\1 = ax + (bx, - llx)·t _VI = ay + (by - ay).t

..,

Doan thang CD:

0:5 t ::; ]

X 2 = C x + (d x - ex). v O~ v ~ 1

Yz = cy + (dy - cy).v

Xet hai dirong thang chua hai doan thang AB va C.D luang irng. Neu

~ ~

hai dirong thang nay giao nhau voi giri tr] tham so nrong ung nam trong

khoang [0, 11 giao diem se nam trong doan thang AB va CD. Nhu vay, doan thing AB va CD se giao nhau. N~u gia tr] tham s6 narn ngoai khoang [0, 1 j thi hai doan th~ng nay kh6ng giao nhau. Gia sit hai dirong thang nay giao nhau v(rj gia rri tham s6 nrong ling In t1 va Vi. Khi do:

ax + tb , - a.i.t, = ex + td, - Cx)·vI ay + (by - ay).tJ = cy + (dy - cy),vJ

Khir ~'l' duoc:

(bx - llx).(dy - cy).t1 ~ (by - ay).(dx - cx)·t! =

= (c, - ax).(dy - cy) - (cy - ay).(dx - ex)

nrong duong vci: ·

D. fl = (ex - a,).(dy - cy) - (r, - ay).(dx - ex)

,. ..

V(Yl:

(~HlrdNG 3. (:A(~ PHEP C~Hl.TYEN DOl HINH HOC HAl carrn



-89



Neu D "* 0: Tinh tl, duoc:

D

tl = .

(ex - ax).(dy - Cy)': (ey - ay).(dx - ex)

Neu tl narn trong khoang °[0,1] thi thay ngiroc lai d~ tinh v.. Neu VI cling nam trong khoang [O~ 11 thl hai doan thing AB va CD giao nhau. Toa dO x, y ella giao diem duoc tlnh mot each de dang.

N6'u D = n. C6 vo s6 gia tri t.. Nhu vay, .4.B va CD song song voi nhau hoac trung nhau.

(g) e,la slf edt liz da giac 16i

Mot da giac duoc goi La 16i neu doan thang n6i hai di~m bat ky narn phia trong ella da giac flam hoan toan trong da giac (xern hinh 3 A 17).

M¢t da giac voi cac dinh 13. PI' ... , P N (cac canh la Pi-t Pi va P N Pi) duoc goi Ia di thea chieu duang neu cac dinh diroc duyet Hin hrot thea ngucc chieu kim d6ng h6.

D c...,..__ __ "

E

A

A

Da glac loi

f)a gtac khOng loi

( a) Chieu dU'ong

( b) Chi~u am

Hinh 3.17. Da giac 16i va da giac khong 16i .

Hlnh 3.18. Chieu dirong va chien am.

. Nhu vay, ban tay trai cua ta de d9C then huang ella canh thi ng6n tay trai se chi vao phia trong cua da giac co huong duong (xem hinh 3.18).

Gill sir A(x1 • YI) va B(X2 • Y2) 1a cac di~m diiu rruit cua doan thang co huang. MOt diem P(x. y) 13 b phia ben trai ella doan thang neu bieu thirc C=(x2 - x,)(y - YI) - (Y'l - y,)(x - Xl) 1a duong. Di~m nay a phia ben phai cua doan thang neu hi~u thirc tren am. Truong hop voi da giac 16i, mot diem narn (j phia hen phai cua bat ky mot canh nao thea hinrng dirong th]



90

" " .

NlIAP MON" DO HOA MAy rfNH

+ •

diem do sc nam ngoai da giac. Neu diem do nam 1:1 phia ben trai cua t§:t eel cac canh thl no se narn trong da giac.

Nhan xet nay dua fa khai niern ca ban cho viec cat ml?t da giac hat ky, 16i hoac kh6ng 16i voi mot efta 56 cling 13. mot da giac,

"(h ) edt da gidc va thudt loan Sutherland-Hodgman

Gia 5i'r PI' .... , P N Ul danh sach cac dinh ella da giric duoc cat. Canh E diroc xac dinh boi hai diem dgu rmit A va B, 13. mot canh bit ky theo huang duong ella da giac 16i ca~. Ta cat m6i canh cua da giac voi canh E cua da giac efit va tao nen da giac mdi voi cac dinh duoc xac dinh nhu sau.

o

1

2

HIDb 3.19. Qua trtnh cat voi cira s6 13. da giac Mi.

xa canh P;-l r, :



1. Neu ca hai Pi-l va Pi cr phia ben trai cua canh, dinh Pi se ducc dua vao danh such cac dinh ra cua da giac diroc cat [hinh 3.20a].

2. Neu esr., va Pi cr phfa ben phai cua canh thi khong co dinh nao

I

duoc dua van danh sach cac dinh ra [hinh 3.20bl-



3. Ne'u Pi-I d phia bert trai con Pi a phia ben phai cua canh E, giao

di ~ I ...,. d tha2 noD P. VkI· canh E duoc dira va 0 danh sa~ ch cac

rem cua oan e- r .. t i ~J. Y

CHlrt1NG 3. cAe PREP CHTJYEN Den HINH HOC HAl CHIEU



91

dinh fa [hlnh 1 .. 20c).

4. N eu P i.1 lJ phfa . ben phai con Pia phia ben trai cua canh E, xac dinh giao di~m I cua doan thang R-IP' voi canh E. ell I va Pi deu duoc dua vao danh sach cac dinh fa [hlnh 3.20d].

Qua trinh thuc hien thuat toan bang each duyet IAn hrot tirng canh cua da gidc cat. V cri m6i canh cua da giac cat lai duyet IAn luot tung canh cua da giac duoc cit va tim giao diem.

E E
III I
III j
t ..
~ ..
I •
~
I ~
.. iI!
, I
i ; .J
L ·
! I
B · }:J, 1-1

E



I

I

~

A

p. I: Danh d5u

, i

L:R· LiR

i ~

(c ) (d)

Hinh 3.20. Cac tnrong hen> cat gitra hai C~11h cua da giac ..

BAITAP

..

3.1. a) Tinh ma tran bicu di~n phep quay mot g6c 30° cua mot d6i tuong quanh g6c

b) Tfnh toa d\, cua di~m (1, 2) sau khi quay.

3.2. Chi ra rang doan thang AB qua phep tinh ti€n lit doan th~ng n6i hai diem A' va B' sau phep tinh tie-no

3.3. Bi~u dien phep quay mot goc 45° ciia tam giac ABC vai toa dl} cac dinh A (0, 0) B(l, 1) va C(5, 2)

a) quanh g6c.

b) quanh P(-I, -1).

9-2

NHAP M6N 1)6 HOA MAy TtNH

• •

K~t qua: a) A '(0, 0) ; B'(O, 2) ; C'(3 J2 i 1, 7..[i / 2)

"

A'(-1"..J2-1) ; 8'(-1, 2-!i-1)"; C'(3J2-1, 9J2/2-1)

3.4. V6'i cimg tam giac ABC trong bai tap 3.3, xac dinh phep ph6ng to kfch thuoc .hai lfin thanh tam giac A' B'C' rna van gift nguyen tal! d¢ cua C(5, 2).

G{1i y: Su dung phuong trinh 3.8, duoc:

(2 0 -5 R= 0 2 -2

o 0 1

. ..

..

Cu6i cung A'(-5, -2); 8'(-3,0) va C'(5, 2)

3.5. Chung minh rang, trong khong gian 2D, m¢t phep quay va mot phep co dan co tht! d6i ch6 cho nhau neu va chi neu s", = s ·

. y

')-

3.6. Me, ta phep l~y d6i xung mot deli nrong qua mqt duong thang co

phuong trinh Hl. Y = mx + h.

..

L

..

'''~. p

x

o

..

Lai gidi: Phep chuyen d6i l1 day HI. ket hgp cua cac phep chuyen dOi

sau:

~ Tinh tien diem (0, b) v~ g6c.

• Quay mqt g6c -9 d~ duong thang L trung v6"i true .r.

I

(~~HUljN(.J 3. (~~A(~ PREP l~HlrvEN 001 I-IINH H()(~ HAl cmrn



93

• LA'y d6i xirng qua true X.

• Tinh tien g6c' v~ diem (0, b).

M L = T(O, b) · Re · M.t · R_6 · T(Ot - h)

1 () 0 c()s8 - SillS 0 1 0 0,
- () 1 I} sine c()s9 o· 0 -1 01
-
I
,
() () 1 0 0 1 0 0 1) Ct)s8 sinS 0 1 0 0

()

() 1

() 1 - b

o 0 1

ct)s8 0

b day, m = 19B, do do sinS = m/.Jn12 + 1 va case = 1/.J,n2 + 1 - Sau khi nhan ma 11-*11 V~l lhay th~, duoc

.:.
.., 2fJI - 21111)
1 - t11-
Mi. = I 2,11. ...,. 2/)
....... 111- - 1
..,.
111- + 1
..,
() 0 111- + 1 3.7. Lay doi xCrng n191 hlnh thoi ABeD vrri toa dQ ciic dinh la A( -1, 0), B«()~ -2), r(l, 0) va D(C), 2) qua:

a) duang nAnl ngang y = 2,

b) duCtng thiing dung x = 2,

c) during lhang y = .v + 2.

Sil dung k~l 4U~\ cua hili t~p 3.0, v(l'i h = 2, e = 0:

(1 ( )
. ,.0/1 L = l () -1
(_) () ( ) 4 C)

94

,... ,lit., ~ ",

NHAP MON 00 HOA MAY TINH

• •

Do dl1 A'(-l, 4),8'(0,6)1 C'(l, 4) va D'(O, 2),

b) Kh6ng th6 su dung kef qua cua bai t~p 3.6 trong tnrong hop nay.

Do d6 phai thirc hien cac biroc nhu sau:

- tinh tie'n duong thitng dung v~ true y,

- lay d6i xirng qua true y,

- tinh tien ngiroc tro lai,

..

-1 0 4

= 0 1 C)

o o 1

Nhu vay, A'(5, 0), B'{4, -2), C'(3, 0) va D'(4, 2).

c) Sir dung ket qua bai 3.6: b = 2, m = 1

, ..

1

M{= - 2 0 ~ 2

o o

-41 4

2

o 2

() 1 - 2 = 1 0 2 (0 o 1

Do do A'(-2, 1), 8'(-4,.2), C'(-2~ 3) va D'(O, .2).

I "

"

Chuong 4

, I' #ft.?' ~" "lA'

CAC PHEP CHUYEN eOI BA CHIEU

4.1. GI(JI THII~lJ

Cac bircc than tal', xay dung va bieu dien cac anh d6 hoa ba chieu doi hoi phai si.'t dung cac phep chuyen d6i hlnh hoc va toa d(> ba chien. Cac phep chuyen dl,i nay diroc xay dung tu cac phep chuyen ddi co ban nhu tinh tien, co dan va quay. M6i mot phep chuyen d6i ducc bieu dien bang rna tran. Cac phep chuyen d6i phuc tap duoc xay dung tir tich cua cac rna tran .



Nhu trong cac phep chuycn d£\i hai chieu, co hai each nhln vS su

",

chuyen d(>ng cua d6i nrong: d6i tuong chuyen dong con h~ toa dO nhln

dung yen, hoac d6i tuong dung yen con h~ toa d¢ nhin chuyen dong. Trong truong hop thir nhat, sir dung cac phep chuyen d6i hinh hoc dS lam viec voi d6i urong con trong truong hop thir hai thl sir dung cac phep chuyen d6i toa d9. Cac phep chuyen d6i va cac khai niern diroc dua fa a day duoc tdng quat hoa tir chuang 3 d~ ap dung cho kh6ng gian ba chieu,

4.2. HE TOA DO T A Y rrRA.I V A HE ~rOA eo T A Y puill

- ..... . ... ..

~

H¢ toa dQ ba chieu sir dung trong van ban 13. h~ toa d¢ tay phai.

Trong h~ tea dq t.ay phai, quy ttcre chieu duong cua phep qua¥ nhu sau: khi nhln tit huang duong ella mot true ve g6c, phep quay 90° nguoc chieu kim dong h6 chuyen d6i chieu duong cua true nay thanh true khac.



96

" A):. ,.,

NHAP MON DO HOA MA Y TINH

. . .

True cua phep quay

Huang duong cua phep quay

y

;.

y t(11 Z

z tqi x +

x

z

" .

x tat Y

Cac huang duong nay diroc chi ra trong hlnh 4.1.

Sir dung h~ toa d0 tay phai vi d6 la dinh nghia chuan cua toan hoc, nhirng no khong thich hop cho dd hoa 3D. Do do, nguai ta them vao h~ toa dt) tay trai, a mat cua man hlnh (xern hinh 4.2). H~ toa dQ tay trai bi~u dien diroc mot each 111 nhien 13. khi gia tr] z cang Ian thl phai cang xa ngtroi nhln, Trong h~ toa d(> tay trai, chieu duong cua phep quay HI. thuan chieu kim dong h6 khi nhin tir chieu dirong ella mot true ve g6c. Dinh nghia chieu dirong ella phep quay na-y cho phep sir dung h~ toa d¢ ban tay trai hoac tay phai deu cho ghi tri nhir nhau.

y

z

x

x

z

l linh 4.1~ H~ toa dl} tay trai.

Hinh 4.2. H~ toa d¢ tay phai.

4.3. cAe PHEP CHUYEN DOl HiNH HOC

Dung tren khia canh h~ toa d¢ ba chieu, mot d6i urong Obj duoc xet

~

nhu la mOt t~p cac dicim:

Obj = {P(x~). z)}

Khi n1Q1 d6i urong di chuyen tai vi trf moi thi ta co the coi n6 nhu mot doi tugng mdi O/~i' trong do toa dq cac di~m P I (x I Y I z") duoc xac

C~HUdNG 4. ·(~AC~ PHEP (~HlTYEN DOl BA cmsu

97

dinh til toa d¢ g6c cua cac diem Pix, y, z) cua d6i nrong Obj trurrc d6 qua bucc ap dung cac phep chuyen d6i hinh hoc. Khi su dung cac phep chuyen d6i hlnh hoc thi coi h¢ toa d¢ dung yen con d6i tuong chuyen

, '

dong,

4.3 .. 1 .. Phep tinh tieD

Mot d6i nrong duoc di chuyen thea m¢t khoang .cach va mot huang cho truce tu vi tri tnroc d6. Hirong va S\f dich chuyen nay cua phep

chuyen d6i diroc bi~u dien boi vector '(hmh 4.3): '

v = ai + bj + .(~k

..

. (4.1)

. Toa d¢ moi ella diem tinh tien diroc xac dinh bang phep chuyen d6i

.'II'

nhu sau:

Tv : y' = y + b

x ' = x +a

(4.2)

z' = z + c

DE bi~u dien phep chuyen d6i, nay bang rna tran, can phai sirdung toado thuan nhat, Phep chuyen d5i bang toa d¢ thuan nhat dugc bieu

dien nhu sau:

....

, 1 0 0 a x x
x
.. , . ~ • • L
, 0 1 0 b y y
y = Tt a.b,c)
-
-
, 0 0 1
z c z z
1 0 0 0 1 1 1 trong d6:
1 0 0 • r . , -
. a· ~ . " , , . ,
L I 4. . "' •
, t
0 1 0 b (4.3)
T( a, b. (~)= ~ ~.
-
~ 0 0 1 c
~ 1
- ..
0 0 0 1
~
~' . l • . :

,

9·8

.

"_ A. A.k ~,.

NHAPMONDOHOAMAYTThffi

.. .

z

p , (X: y', Z')

y

,x

~ .



Hinh 4.3. P' duoc xac dinh tit P bang phep tinh tien thea vector V.

4.3.2. Phep co dan

La qua trlnh co dan thay ddi theo cac chieu cua mot d6i tuong. H~ s6 co dan s xac dinh phep co dan Hl ph6ng to neu s > 1, hoac thu nho neu

~5 < 1 .

.

Co dan d6i vcri goc, trong d6 g6c c6 dinh Hi ket qua cua phep chuyen dCli:

x'=Sx·X

y' = s, · Y z' = !J'z .. z

(4.4)

Bi~u dien dudi dang rna tran nhu sau:

s, 0 0

S( ) = 0 s, 0

~., x ,. ~5 V ' I ~ Z

o

o

(4.5)

s .

...

Bieu di~n thea toa do thuan nh~t :

• •

~S x 0 0 0
() 15 x 0 0
S(sx' Sy , Sz} =
0 0 ~5 x 0

0 0 0 1 CHUONG 4. cAc PREP CIIUYEN Dell BA CHIEU

..

.

99

4.3.3. Phep quay

..... -

Phep quay trong khong gian ba chieu duoc xet phirc tap hon phep

quay trong kh6ng gian hai chieu. Trong khonggian hai chien, phep quay

diroc xac dinh hoi g6c quay 0 va tam cua phep quay P. Trong khong gian ba chieu, phep quay diroc xac dinh boi g6c quay va m¢t true quay. Phep quay chinh tile diroc xac dinh khi m¢t trong cac true x, y, z dirong diroc ch911 lam true quay .. Qua trlnh xay dung phep quay gi6ng nhir phep quayquanh g6c trong khong gian hai chieu (xem hinh 4.4).

z

::":].0----- . P'(x ~y'. z ")

....

" ....

...... ...

Pix, y~ z) ~

t I )

I I

... "J_-- I I Y

" ,(} --i-- P~(x' y' 0)

-, I 1''''

.... I

' ..... I

. I

x

Hinh 4.4. Phep quay quanh true z .

.

(a) Phep quay quanh true Z

Khi quay quanh true z thl gia tri toa dO z khong thay d6i, chi c6 gia tri toa dt} x va y 1ft thay d6i. Nhir vay, nrong dirong vai viec quay hlnh

chieu ella diem P(x, y •. z) 1ft Pl(X, y. 0) thea mot g6c e t6i vi trf

~

~. (x' ,y' ,0) trong mat phang xOy. Nhu trong chuang 3, da co:

x' = x cosO - y sinO .-

v'= x sinB+ V cosO

.. ...

z'= z

. (b) Phep quay quanb true Y ·MOt .cach. nrong tV,c6:,

. ,

Potrebbero piacerti anche