Giáo trình môn Đồ họa máy tính

Trꢀꢁng H Hàng Hi Vit Nam  
Khoa Công ngh thông tin  
= = =&*&= = =  
Bài ging môn hc  
ꢂꢆ HA MÁY TÍNH  
Li nói Čꢈu  
Nhm phc v cho công tác ging dy, hc tp môn hc ꢆꢇ ha máy tính c a  
thy và trò khoa Công ngh thông tin - trꢊꢋng H HÀNG HI VIT NAM, b  
môn H thông thông tin tin hành tng hp, biên son s b tp bài ging môn  
hc ꢆꢇ ha máy tính. Tp bài ging này Čꢊꢑc biên son ch yu da trên Giáo  
trình K thut ꢆꢇ ha máy tính c a khoa CNTT - HBK Hà Ni và Giáo trình  
ꢆꢇ ha máy tính (dùng cho h Čào to t xa) c a HQG TP H Chí Minh.  
Ngoài ra chúng tôi có tham kho cun Computer Graphics c a Donald Hearn &  
M. Pauline Baker, nhà xut bn Prentice-Hall, New Jersey, 1986 cùng mt s tài  
liu khác (xem phn tài liu tham kho).  
ꢆꢘ hc tt môn hc này, ngoài nhng kin thc c s v lp trình, sinh viên  
cn phi Čꢊꢑc trang b  nhng kin thc c bn v Čꢃi s, gii tích, hình hc gii  
tích, hình hc ha hình, kin trúc máy tính và thit b  ngoi vi,... Thc s ꢆꢇ  
ha máy tính là mt môn hc không Čꢒn gin, s! dng nhiu công c toán hc  
Čòi h"i kin thc tng hp.  
Čây là ln Čꢈu tiên biên son nên ch#c ch#n không tránh kh"i nhng thiu  
sót. Rt mong nhn Čꢊꢑc s Čóng góp ý kin c a quý Čꢇng nghip và c a các  
em sinh viên Čꢘ công vic biên son ngày càng tt hn.  
B môn H thng thông tin  
Khoa Công ngh thông tin - Trꢊꢋng H Hàng Hi  
2
Mc lc  
Mc lc ................................................................................................................. 3  
Chꢀꢌng 1: Tng quan v Čꢏ ha máy tính ....................................................... 5  
1.1 Khái nim vꢁ Čꢂ ha máy tính và lch sphát trin.................................... 5  
1.2 K thut Čꢂ ha tꢈꢉng tác(Interactive Computer Graphics) ...................... 6  
1.3 Khái quát vhthng Čꢂ ha...................................................................... 7  
1.3.1 Phn cng .............................................................................................. 8  
1.3.2. Phn mm........................................................................................... 11  
1.4 Các hmàu cbn ................................................................................... 13  
1.4.1 Không gian RGB (RGB space) ........................................................... 14  
1.4.2 Không gian HSL.................................................................................. 15  
1.4.3 Không gian HSV ................................................................................. 16  
1.4.4 Không gian màu CMY (Cyan - Magenta - Yellow) ........................... 17  
Chꢀꢌng 2: Các thut toán v Čꢀꢁng và tô màu c bn............................... 19  
2.1 Hta Čꢌ thgii thc, hta Čꢌ thit bvà hta Čꢌ chun ................. 19  
2.1.1 H ta Čꢎ th gi$i thc ........................................................................ 19  
2.1.3 H ta Čꢎ thit b  chu%n (Normalized device coordinates)................. 20  
2.2 Các thut toán vꢑ Čꢈꢒng da trên Čim .................................................... 21  
2.2.1 Các thut toán v& Čꢊꢋng th'ng............................................................ 21  
2.2.2 Các thut toán v& Čꢊꢋng tròn .............................................................. 27  
2.3 Các thut toán tô màu................................................................................ 33  
2.3.1 Tô màu theo tng Čim (phꢊꢒng pháp tô Čꢒn gin) ........................... 33  
2.3.2 Tô màu theo dòng quét (scan - line).................................................... 37  
2.3.3 Phꢊꢒng pháp tô màu da theo Čꢊꢋng biên.......................................... 41  
Chꢀꢌng 3: Các phép bin Čꢍi hình hc 2D..................................................... 45  
3.1 Các phép bin Čꢓi hình hc cs.............................................................. 45  
3.1.1 Phép t nh tin...................................................................................... 45  
3.1.2 Phép bin Čꢐi t( l............................................................................... 46  
3.1.3 Phép quay ............................................................................................ 47  
3.1.4 Biu di)n ma trn c a phép bin Čꢐi................................................... 47  
3.1.5 H ta Čꢎ thun nht (hormogeneous coordinates)............................. 48  
3.2 Kt hp các phép bin Čꢓi ......................................................................... 49  
3.2.1 Kt hp các phép t nh tin................................................................... 49  
3.2.2 Kt hp các phép t( l......................................................................... 50  
3.2.3 Kt hp các phép quay ........................................................................ 50  
3.2.4 Phép quay có tâm quay là Čim bt k*................................................ 50  
3.3 Mt stính cht ca phép bin Čꢓi Affine................................................. 51  
3.3.1 Phép bin Čꢐi affine bo toàn Čꢊꢋng th'ng......................................... 51  
3.3.2 Tính song song c a các Čꢊꢋng th'ng Čꢊꢑc bo toàn .......................... 51  
3.3.3 Tính t+ l v khong cách Čꢊꢑc bo toàn............................................. 51  
3.4 Mt sphép bin Čꢓi khác......................................................................... 52  
3
3.4.1 Phép Čꢖi xng...................................................................................... 52  
3.4.2 Phép bin dng .................................................................................... 52  
3.4.3 Phép bin Čꢐi ngꢊꢑc............................................................................ 53  
3.4.4 Phân rã phép bin Čꢐi.......................................................................... 53  
3.5 Phép bin Čꢓi gia các hta Čꢌ .............................................................. 54  
Chꢀꢌng 4: Hin th các Čꢊi tꢀꢕng 2D.............................................................. 56  
4.1 Quy trình hin thcác Čꢊi tꢈꢕng 2D.......................................................... 56  
4.1.1 Mt s khái nim................................................................................. 56  
4.1.2 H ta Čꢎ quan sát và h ta Čꢎ thit b  chu%n.................................... 58  
4.1.3 Chuyn Čꢐi t c!a s quan sát sang vùng quan sát............................. 59  
4.2 Các thut toán ct xén hình....................................................................... 60  
4.2.1 Thut toán Cohen - Sutherland............................................................ 61  
4.2.2 Thut toán Liang - Barsky................................................................... 66  
Chꢀꢌng 5: Tng quan v Čꢏ ha 3D................................................................ 71  
5.1 Khái quát chung......................................................................................... 71  
5.1.1 S lꢊꢑc v quy trình hin th ............................................................... 72  
5.1.2 Mô hình khung ni kt ........................................................................ 73  
5.1.3 V& các Čꢖi tꢊꢑng theo mô hình khung ni kt s! dng các phép chiu  
...................................................................................................................... 75  
5.1.4 Phép chiu song song (Parallel Projection)......................................... 76  
5.1.5 Phép chiu phi cnh (Perspective Projection)................................... 78  
5.2 Biu din các Čꢊi tꢈꢕng 3D ....................................................................... 79  
5.2.1 Biu di)n m,t Ča giác .......................................................................... 80  
5.2.2 Các Čꢊꢋng cong và m,t cong.............................................................. 85  
5.2.3 Các m,t có quy lut(ruled surfaces).................................................... 85  
5.2.4 Các m,t tròn xoay (Surfaces of revolution) ........................................ 87  
5.2.5 Các m,t cong bc hai........................................................................... 88  
Chꢀꢌng 6: Các phép bin Čꢍi trong Čꢏ ha 3D.............................................. 90  
6.1 Các phép bin Čꢓi hình hc ....................................................................... 90  
6.1.1. Mt s khái nim liên quan................................................................ 91  
6.1.2 Phép t nh tin....................................................................................... 92  
6.1.3 Phép t( l............................................................................................. 93  
6.1.4 Phép bin dng .................................................................................... 94  
6.1.5 Phép quay ............................................................................................ 94  
6.1.6 Kt hp các phép bin Čꢐi Affine 3 chiu........................................... 98  
6.2 Phép bin Čꢓi mô hình và phép bin Čꢓi htrc ta Č............................ 98  
Tài liu tham kho ........................................................................................... 100  
4
Chꢂꢃng 1  
Tng quan v Čꢏ ha máy tính  
1.1 Khái nim v Čꢏ ha máy tính và lch s phát trin  
K thut Čꢇ ha máy tính là phꢊꢒng pháp và công ngh dùng trong vic  
chuyn Čꢐi qua li gia d liu và hình nh trên màn hình bng máy tính. K  
thut Čꢇ ha hay Čꢇ ha máy tính còn Čꢊꢑc hiu dꢊ$i dng phꢊꢒng pháp và k  
thut to hình nh t các mô hình toán hc mô t các Čꢖi tꢊꢑng hay d liu ly  
Čꢊꢑc t các Čꢖi tꢊꢑng trong thc t.  
Mt s chuyên gia máy tính cho rng K thut Čꢇ ha máy tính có th Č nh  
ngh-a nh mt l-nh vc c a công ngh thông tin mà  Čó nghiên cu, xây dng  
và tp hp các công c (mô hình lý thuyt và các th vin lp trình) khác nhau  
Čꢘ kin to, xây dng, lu tr và x! lý các mô hình(model) và hình nh(image)  
c a các Čꢖi tꢊꢑng, s vt khác nhau trong cuc sng, sn xut và nghiên cu.  
Các mô hình và hình nh này có th là kt qu thu Čꢊꢑc t nhng l-nh vc khác  
nhau c a rt nhiu ngành khoa hc - k thut ( Vt lý, toán hc, thiên v.n hc,  
c khí, kin trúc...) và bao trùm rt nhiu th loi Ča dng và phong phú: cu  
trúc phân t!, cu trúc sinh hc, mô hình tàu v/ tr,...  
Thut ng k thut Čꢇ ha máy tính (Computer Graphics) Čꢊꢑc Čꢜ xut bi  
mt chuyên gia ngꢊꢋi M tên là William Fetter vào n.m 1960. Khi Čó ông Čang  
nghiên cu xây dng mô hình bung lái máy bay cho hãng máy bay Boeing.  
William Fetter Čã da trên các hình nh 3D c a mô hình ngꢊꢋi phi công trong  
bung lái Čꢘ xây dng nên mt mô hình ti u cho máy bay Boeing.  
ây là phꢊꢒng pháp nghiên cu rt m$i vào thi k* Čó. Phꢊꢒng pháp này có  
nhng tính n.ng vꢊꢑt tri hn tt c các phꢊꢒng pháp nghiên cu xây dng mô  
hình bung lái máy bay truyn thng trꢊ$c Čó Čꢊꢑc áp dng ti Boeing. Phꢊꢒng  
pháp này cho phép các k s thit k quan sát mt cách trc quan v  trí c a phi  
công trong bung lái. William Fetter Čã Č,t tên cho phꢊꢒng pháp c a mình là  
"Computer Graphics".  
L ch s! Čꢇ ha t nhng n.m 1960 còn Čꢊꢑc Čánh du bi d án Sketchpad  
ti MIT v$i Ivan Sutherland ti hi ngh  Fall Joint Computer cùng v$i s kin  
ln Čꢈu tiên to m$i, hin th  và thay Čꢐi Čꢊꢑc d liu hình nh trc tip trên  
màn hình trong thi gian thc (hình 1.1)  
5
Hình 1.1: Hình nh Čꢇ ha tꢊꢒng tác Čꢈu tiên trên Sketchpad  
K thut Čꢇ ha liên tc Čꢊꢑc hoàn thin vào nhng n.m 1970 v$i s xut  
hin c a các chu%n Čꢇ ha làm t.ng cꢊꢋng kh n.ng giao tip và tái s! dng c a  
các phn mm c/ng nh các th vin Čꢇ ha.  
S phát trin bùng n c a công ngh vi Čin t! và l-nh vc phn cng máy  
tính trong nhng n.m 1980 làm xut hin hàng lot các v+ mch h0 tr cho vic  
truy xut Čꢇ ha Či cùng v$i s gim giá Čáng k c a máy tính cá nhân (PC) Čã  
làm Čꢇ ha càng Či sâu vào cuc sng thc ti)n.  
K t n.m 1990 t$i nay các k thut Čꢇ ha 3D và các phép x! Čꢊꢑc phát  
trin mnh m& và cho ra Čꢋi hàng lot các nhng sn ph%m Čꢇ ha ng dng  
trong thc t nh thit k mô hình, games, phim hot hình, k xo Čin nh,...  
Các v+ mch Čꢇ ha cho máy tính cá nhân thng tr  trong thi trꢊꢋng Čꢇ ha nh:  
Nvidia, ATi, 3DLabs,... ngày càng hoàn thin và cung cp ngày càng nhiu kh  
n.ng cho ngꢊꢋi s! dng. Liên tip hàng t( Čô la Čꢊꢑc Čꢈu t cho Čꢇ ha máy  
tính ha h1n s phát trin không ngng và nhng sn ph%m ngày càng Čꢊꢑc ci  
tin s& là quà t,ng mong Čꢑi cho nhng ai yêu thích l-nh vc này.  
1.2 K thut Čꢏ ha tꢀꢌng tác(Interactive Computer Graphics)  
C/ng nh mi l-nh vc khác trong công ngh thông tin, mt h thng s!  
dng k thut Čꢇ ha tꢊꢒng tác là mt h thng x! lý thông tin bao gm 3 thành  
phn v$i các thao tác tꢊꢒng ng:  
Nhp d liu: thông qua các thit b  vào nh nh chut, máy quét, bàn  
phím,...  
X! lý và lu tr d liu  
Hin th /Kt xut kt qu: thông qua các thit b  nh màn hình, máy  
in,...  
Ngoài các Č,c thù chung nh Čã lit kê  trên, h thng k thut Čꢇ ha  
tꢊꢒng tác còn có mt Č,c Čim rt Č,c trng c a mình: trong h thng này, các  
thông tin và các d liu Č,c trng Čꢊꢑc hin th  trên màn hình mt cách trc  
quan và ngꢊꢋi s! dng có th quan sát, theo dõi và thay Čꢐi giá tr  ho,c khuôn  
dng c a chúng mt cách tꢊꢒng tác (interactive) và ngay lp tc nhng thay Čꢐi  
này s& Čꢊꢑc h thng ghi nhn và x! lý. Kt qu c a s thay Čꢐi s& Čꢊꢑc h  
thng x! lý ngay trên các mô hình, cu trúc ho,c hình nh c a các Čꢖi tꢊꢑng và  
hin th  chúng ngay trên màn hình nh ngꢊꢋi s! dng mong mun.  
6
Nhp/vào  
d liu  
Lu tr và  
x! lý  
Hin th  
kt qu  
USER  
Hình 1.2: Mô hình chung c a h Čꢇ ha tꢊꢒng tác  
Nh trên mô hình chung c a mt h thng s! dng k thut Čꢇ ha tꢊꢒng  
tác, chúng ta thy ngꢊꢋi s! dng có kh n.ng giao tip tꢊꢒng tác v$i h thng  
c 3 giai Čon trong quá trình x! lý thông tin.  
H thng Čꢇ ha tꢊꢒng tác Čꢈu tiên Čꢊꢑc thit k và xây dng bi  
IvanSutherland n.m 1963. H thng Sketchpad này Čꢊꢑc dùng Čꢘ thit k mch  
Čin và bao gm nhng thành phn sau:  
CRT màn hình.  
Bút sáng và mt keyboard bao gm 1 s phím bm chc n.ng  
Máy tính cha chꢊꢒng trình x! lý các thông tin  
Ngꢊꢋi s! dng có th v& mch Čin trc tip lên màn hình thông qua bút  
sáng. chꢊꢒng trình s& phân tích và tính toán nhng thông s cn thit c a mch  
Čin do ngꢊꢋi s! dng v& nên.  
Hình 1.3: Ivan Sutherland và h thng Sketchpad (1962)  
1.3 Khái quát v h thng Čꢏ ha  
Mt h Čꢇ ha bao gi c/ng có hai thành phn chính Čó là phn cng và phn  
mm. Phn cng bao gm các thit b  hin th  và nhp d liu,… Phn mm bao  
gm các công c lp trình và các trình ng dng Čꢇ ha. Chúng ta s& ln lꢊꢑt  
kho sát các thành phn này.  
7
1.3.1 Phn cng  
1.3.1.1 Thit b hin th  
Nói chung, màn hình là thit b  hin th  thông dng nht trong mt h Čꢇ ha.  
Các thao tác c a hu ht màn hình Čꢜu da trên thit k c a ng tia âm cc  
(CRT – cathode ray tube).  
A. Cu to chung c a CRT  
Hình 1.6 minh ha thao tác c s c a mt ng tia âm cc. Mt chùm các tia  
Čin t! (tia âm cc) phát ra t mt súng Čin t!, vꢊꢑt qua các h thng hi t  
(focusing) và d2n hꢊ$ng (deflection) s& hꢊ$ng t$i các v  trí xác Č nh trên màn  
hình Čꢊꢑc ph mt l$p phosphor. Ti m0i v  trí tꢊꢒng tác v$i tia Čin t!, ht  
phosphor s& phát ra mt chm sáng nh". Vì ánh sáng phát ra bi các ht  
phosphor m dn rt nhanh nên cn phi có mt cách nào Čó Čꢘ duy trì nh trên  
màn hình. Mt trong các cách Čó là l,p Či l,p li nhiu ln vic v& li nh tht  
nhanh bng cách hꢊ$ng các tia Čin t! tr li v  trí c/. Kiu hin th  này gi là  
refresh CRT.  
Hình 1.4: Cu to c a CRT  
Có nhiu loi phosphor Čꢊꢑc dùng trong mt CRT. Ngoài màu s#c ra, Čim khác  
nhau chính gia các loi phosphor là "Čꢎ bn” (persistent), Čó là khong thi  
gian phát sáng sau khi tia CRT không còn tác Čꢎng. L$p phosphor có Čꢎ bn  
thp cn tc Čꢎ làm tꢊꢒi cao hn Čꢘ gi cho hình nh trên màn hình kh"i nhòe.  
Loi này thꢊꢋng rt tt cho hot hình, rt cn thay Čꢐi hình nh liên tc.  
L$p phosphor có Čꢎ bn cao thꢊꢋng Čꢊꢑc dùng cho vic hin th  các nh  
t-nh, Čꢎ phc tp cao. M,c dù mt s loi phosphor có Čꢎ bn l$n hn 1 giây,  
tuy nhiên các màn hình Čꢇ ha thꢊꢋng Čꢊꢑc xây dng v$i Čꢎ bn dao Čꢎng t 10  
Čꢏn 60 micro giây.  
S lꢊꢑng ti Ča các Čim có th hin th  trên mt CRT Čꢊꢑc gi là Čꢎ phân  
gii (resolution). Mt Č nh ngh-a chính xác hn c a Čꢎ phân gii là s lꢊꢑng các  
Čim trên mt centimet mà có th Čꢊꢑc v& theo chiu ngang và chiu dc, m,c  
dù nó thꢊꢋng Čꢊꢑc xem nh là tng s Čim theo m0i hꢊ$ng.  
Kích thꢊ$c vt lí c a màn hình Čꢇ ha Čꢊꢑc tính t Čꢎ dài c a Čꢊꢋng chéo  
màn hình, thꢊꢋng dao Čꢎng t 12 Čꢏn 27 inch ho,c l$n hn. Mt màn hình CRT  
có th Čꢊꢑc kt hp v$i nhiu loi máy khác nhau, do Čó s lꢊꢑng các Čim trên  
màn hình có th Čꢊꢑc v& tht s còn tùy thuc vào kh n.ng c a h thng mà nó  
kt hp vào.  
8
Mt thuc tính khác c a màn hình na là t+ s phꢊꢒng (aspect ratio). T+ s  
phꢊꢒng là t+ l c a các Čim dc và các Čim ngang cn Čꢘ phát sinh các Čon  
th'ng có Čꢎ dài Čꢒn v  theo c hai hꢊ$ng trên màn hình (trong mt s trꢊꢋng  
hp ngꢊꢋi ta thꢊꢋng dùng t+ s phꢊꢒng nh là t+ s c a các Čim theo chiu  
ngang so v$i các Čim theo chiu dc). V$i các màn hình có t+ s phꢊꢒng khác  
1, d) dàng nhn thy là các hình vuông hin th  trên nó s& có dng hình ch  
nht, các hình tròn s& có dng hình ellipse. Thc ra khái nim t+ s phꢊꢒng xut  
phát t bn cht khong cách (nu tính cùng mt Čꢒn v  Čꢎ dài) gia các Čim  
dc không bng khong cách gia các Čim ngang. Mt t+ s phꢊꢒng có giá tr  
¾ có ngh-a là v& 3 Čim theo chiu dc s& có cùng Čꢎ dài v$i vic v& 4 Čim  
theo chiu ngang.  
B. Màn hình dng Čim (raster - scan display)  
Màn hình dng Čim là dng thꢊꢋng g,p nht trong s các dng màn hình s!  
dng CRT da trên công ngh truyn hình.  
Trong h thng này, chùm tia Čin t! s& Čꢊꢑc quét ngang qua màn hình, m0i ln  
mt dòng và quét tun t t trên xung dꢊ$i. S bt t#t c a các Čim sáng trên  
màn hình ph thuc vào cꢊꢋng Čꢎ c a tia Čin t! Čây chính là c s c a vic  
to ra hình nh trên màn hình.  
M0i Čim trên màn hình Čꢊꢑc gi là mt pixel hay là pel (vit t#t c a picture  
element). Các thông tin v hình nh hin th  trên màn hình Čꢊꢑc lu tr trong  
mt vùng b nh$ gi là vùng Čꢉm làm tꢊꢒi (refresh buffer) hay là vùng Čꢉm  
khung (frame buffer). Vùng b nh$ này lu tr tp các giá tr  cꢊꢋng Čꢎ sáng c a  
toàn b các Čim trên màn hình và luôn luôn tn ti mt song ánh gia m0i Čim  
trên màn hình và m0i phn t! trong vùng này.  
Hình 1.5: Quá trình to hình nh c a các tia quét  
ꢆꢘ thay Čꢐi các hình nh cn hin th , các giá tr  tꢊꢒng ng v$i v  trí và Čꢎ  
sáng phi Čꢊꢑc Č,t vào vùng Čꢉm khung. Hình 1.8 minh ha các giá tr  tꢊꢒng  
ng trong vùng Čꢉm khung Čꢘ hin th  hình nh c a ch A trên màn hình.  
ꢆꢖi v$i màn hình Čen tr#ng, vùng Čꢉm khung còn Čꢊꢑc gi là bitmap, v$i  
các màn hình khác vùng Čꢉm khung thꢊꢋng Čꢊꢑc gi là pixmap.  
9
ꢆꢘ to ra các nh Čen tr#ng, Čꢒn gin ch+ cn lu thông tin c a m0i pixel  
bng 1 bit (các giá tr  0, 1 s& tꢊꢑng trng cho vic t#t (ti), bt (sáng) pixel trên  
màn hình). Trong trꢊꢋng hp nh nhiu màu, ngꢊꢋi ta cn nhiu bit hn, nu  
thông tin c a m0i pixel Čꢊꢑc lu bng b bit, thì ta có th có 2b giá tr  màu phân  
bit cho pixel Čó.  
Hình 1.6: Song ánh gia vùng Čꢉm khung và màn hình  
Trong các màn hình màu, ngꢊꢋi ta Č nh ngh-a tp các màu làm vic trong  
mt bng tra (LookUp Table - LUT). M0i phn t! c a LUT Č nh ngh-a mt b  
ba giá tr  R (Red), G (Green), B (Blue) mô t mt màu nào Čó. Khi cn s! dng  
mt màu, ta ch+ cn ch+ Č nh s th t (index) tꢊꢒng ng c a màu Čó trong LUT.  
Bng LUT có th Čꢊꢑc thay Čꢐi bi các ng dng và ngꢊꢋi lp trình có th can  
thip Čiu khin. V$i cách làm này chúng ta có th tit kim không gian lu tr  
cho m0i phn t! trong vùng Čꢉm khung.  
S phn t! c a LUT Čꢊꢑc xác Č nh t s lꢊꢑng các bits/pixel. Nu m0i phn  
t! c a vùng Čꢉm khung dùng b bits Čꢘ lu thông tin c a mt pixel, thì bng LUT  
có 2b phn t!. Nu b=8, LUT s& có 28=256 phn t!, Čó chính là s màu có th  
Čꢊꢑc hin th  cùng mt lúc trên màn hình.  
Vic làm tꢊꢒi trên màn hình dng này Čꢊꢑc thc hin  tc Čꢎ 60 Čꢏn 80  
frame/giây. ôi khi tc Čꢎ làm tꢊꢒi còn Čꢊꢑc biu di)n bng Čꢒn v  Hertz (Hz –  
s chu kì/ giây), trong Čó mt chu kì tꢊꢒng ng v$i mt frame. S! dng Čꢒn v  
này, chúng ta có th mô t tc Čꢎ làm tꢊꢒi 60 frame/giây Čꢒn gin là 60Hz. Khi  
Čꢃt Čꢏn cui m0i dòng quét, tia Čin t! quay tr li bên trái c a màn hình Čꢘ b#t  
Čꢈu dòng quét k tip. Vic quay tr li phía trái màn hình sau khi làm tꢊꢒi m0i  
dòng quét Čꢊꢑc gi là tia hi ngang (horizontal retrace). Và t$i cui m0i frame,  
tia Čin t! (tia hi dc – vertical retrace) quay tr li góc trên bên trái c a màn  
hình Čꢘ chu%n b  b#t Čꢈu frame k tip.  
Trong mt s màn hình, m0i frame Čꢊꢑc hin th  thành hai giai Čon s! dng  
k- thut làm tꢊꢒi Čan xen nhau (interlaced refesh). 3 giai Čon Čꢈu tiên, tia quét  
s& quét mt s dòng t trên xung dꢊ$i, sau tia hi dc, các dòng còn li s& Čꢊꢑc  
quét. Vic Čan xen các dòng quét này cho phép chúng ta thy Čꢊꢑc toàn màn  
hình hin th  ch+ trong mt n!a thi gian so v$i dùng Čꢘ quét tt c các dòng mt  
ln t trên xung dꢊ$i. K- thut này thꢊꢋng Čꢊꢑc dùng cho loi màn hình có tc  
Čꢎ làm tꢊꢒi thp.  
10  
Hình 1.7: Hot Čꢎng c a màn hình interlaced  
1.3.1.2. Các thit b nhp  
Hai loi thit b  nhp c bn nht trong máy tính v2n là chut và bàn phím.  
A. Bàn phím : Xut hin trong hu ht các máy tính, nó là thit b  Čꢘ nhp d  
liu dng v.n bn và s. ây là loi thit b  quen thuc nht v$i ngꢊꢋi s! dng  
tuy có hn ch là tꢊꢒng tác không cao.  
B. Chut : Cùng v$i s xut hin c a các ng dng Čꢇ ha tꢊꢒng tác cao,  
chut là thit b  nhp ngày càng quen thuc v$i ngꢊꢋi s! dng. Ngꢊꢋi ta dùng  
chut Čꢘ tr" và chn (point-click) các chc n.ng phù hp v$i yêu cu c a mình.  
Bng cách này, giao tip gia ngꢊꢋi dùng và máy tính càng ngày càng thân thin  
và d) dàng hn. Ngoài ra chúng ta c/ng có mt s thit b  nhp khác cùng h  
v$i chut nh track ball, …  
1.3.2. Phn mm  
Phn mm Čꢇ ha có th phân thành 2 loi : các công c lp trình và các trình  
ng dng Čꢇ ha phc v cho mt mc Čích nào Čó. Các công c lp trình cung  
cp mt tp các hàm Čꢇ ha có th Čꢊꢑc dùng trong các ngôn ng lp trình cp  
cao nh C, Pascal, .. Ví d nh các th vin Čꢇ ha c a các ngôn ng nh C,  
Pascal hay GL (Graphics Library) c a Silicon Graphics. Các hàm c s c a nó  
bao gm vic to các Čꢖi tꢊꢑng c s c a hình nh nh Čon th'ng, Ča giác,  
Čꢊꢋng tròn,…, thay Čꢐi màu s#c, chn khung nhìn, áp dng các phép bin Čꢐi,…  
Trong khi Čó, các ng dng Čꢇ ha Čꢊꢑc thit k cho nhng ngꢊꢋi dùng không  
phi là lp trình viên, cho phép ngꢊꢋi dùng to các Čꢖi tꢊꢑng, hình nh, … mà  
không cn quan tâm t$i vic chúng Čꢊꢑc to ra nh th nào. Ví d nh là  
Photoshop, AutoCAD, …  
Biu din ta Čꢉ  
Thông thꢊꢋng các h Čꢇ ha s! dng h ta Čꢎ Descartes Čꢘ mô t Čꢖi tꢊꢑng.  
Nu các ta Čꢎ c a Čꢖi tꢊꢑng Čꢊꢑc mô t trong các h ta Čꢎ khác nh ta Čꢎ  
cu, …, chúng phi Čꢊꢑc chuyn v ta Čꢎ Descartes trꢊ$c khi dùng.  
Quy trình hin thꢍ Čꢎi tꢂꢏng  
Trꢊ$c tiên chúng ta mô t các Čꢖi tꢊꢑng thành phn c a mt nh phc tp  
trong các h ta Čꢎ riêng Čꢘ thun tin cho vic biu di)n ta Čꢎ c a chúng. Các  
h ta Čꢎ này Čꢊꢑc gi là h ta Čꢎ mô hình (modeling coordinates) hay còn gi  
là h ta Čꢎ cc b (local coordinates). Mt khi các Čꢖi tꢊꢑng thành phn Čꢊꢑc  
biu di)n xong, chúng ta s& Č,t chúng vào các v  trí tꢊꢒng ng trong nh s!  
dng h ta Čꢎ th gi$i thc (world coordinates). Sau cùng, các mô t c a nh  
trong h ta Čꢎ th gi$i thc s& Čꢊꢑc chuyn Čꢏn mt ho,c nhiu h ta Čꢎ khác  
11  
nhau c a thit b  hin th , tùy vào chúng ta mun hin th  trên thit b  nào. Các  
h ta Čꢎ này còn Čꢊꢑc gi là h ta Čꢎ thit b  (device coordinates). Các mô t  
trong các h ta Čꢎ cc b và h ta Čꢎ th gi$i thc cho phép chúng ta s! dng  
th nguyên thích hp cho các Čꢒn v  Čo mà không phi b  ràng buc gì c a tng  
thit b  hin th  c th.  
Hình 1.8: Quy trình hin th  Čꢖi tꢊꢑng  
Thông thꢊꢋng, các h Čꢇ ha chuyn các mô t trong h ta Čꢎ th gi$i thc  
t$i h ta Čꢎ thit b  chu%n (normalized device coordinates) có các chiu là Čꢒn  
v  trꢊ$c khi chuyn t$i h ta Čꢎ thit b . iu này làm cho h thng Čꢎc lp v$i  
nhiu loi thit b  khác nhau.  
Các hàm Čꢐ ha  
Các hàm Čꢇ ha cung cp kh n.ng to và thao tác hình nh. Các hàm này Čꢊꢑc  
phân loi nh sau :  
-Tp các công c to ra các Čꢖi tꢊꢑng Čꢇ ha c s nh Čim, Čon  
th'ng, Čꢊꢋng cong, vùng tô, kí t, …  
-Tp các công c thay Čꢐi thuc tính dùng Čꢘ thay Čꢐi thuc tính c a  
các Čꢖi tꢊꢑng Čꢇ ha c s nh màu s#c, kiu Čꢊꢋng, kiu ch, m2u  
tô, …  
-Tp các công c thc hin các phép bin Čꢐi hình hc dùng Čꢘ thay  
Čꢐi kích thꢊ$c v  trí, hꢊ$ng c a các Čꢖi tꢊꢑng, …  
-Tp các công c bin Čꢐi h quan sát dùng Čꢘ xác Č nh v  trí quan sát  
Čꢖi tꢊꢑng và v  trí trên thit b  hin th  Čꢊꢑc dùng Čꢘ hin th  Čꢖi  
tꢊꢑng.  
-Tp các công c nhp liu : Các ng dng Čꢇ ha có th s! dng  
nhiu loi thit b  nhp khác nhau nh bút v&, bng, chut, bàn  
phím,… Čꢘ Čiu khin và x! lí dòng d liu nhp.  
12  
Cui cùng là tp các công c cha các thao tác dùng cho vic qun lí và Čiu  
khin ví d nh xóa toàn b màn hình, thit lp ch Čꢎ Čꢇ ha, …  
Các chun phn mm  
Mc tiêu c.n bn c a các phn mm Čꢇ ha Čꢊꢑc chu%n là tính tꢊꢒng thích.  
Khi các công c Čꢊꢑc thit k v$i các hàm Čꢇ ha chu%n, phn mm có th Čꢊꢑc  
di chuyn mt cách d) dàng t h phn cng này sang h phn cng khác và  
Čꢊꢑc dùng trong nhiu cài Č,t và ng dng khác nhau.  
Sau nhng n0 lc không nh" c a các t chc chu%n hóa c a các quc gia và  
quc t, mt chu%n cho vic phát trin các phn mm Čꢇ ha Čã ra Čꢋi Čó là  
GKS (Graphics Kernel System – H Čꢇ ha c s). H thng này ban Čꢈu Čꢊꢑc  
thit k cho tp các công c Čꢇ ha hai chiu, sau Čó Čꢊꢑc phát trin và m rng  
cho Čꢇ ha ba chiu.  
Các hàm c a GKS thc s ch+ là các mô t tru tꢊꢑng, Čꢎc lp v$i bt kì ngôn  
ng lp trình nào. ꢆꢘ cài Č,t mt chu%n Čꢇ ha cho ngôn ng c th nào, các cú  
pháp tꢊꢒng ng s& Čꢊꢑc xác Č nh và c th hóa.  
M,c dù GKS xác lp Čꢊꢑc các ý tꢊꢛng ban Čꢈu cho các hàm Čꢇ ha c s, tuy  
nhiên nó không cung cp mt cách thc chu%n cho vic giao tip Čꢇ ha v$i các  
thit b  xut. Nó c/ng không xác Č nh các cách thc cho các mô hình thi gian  
thc c/ng nh các cách thc lu tr và chuyn Čꢐi hình nh. Các chu%n cho các  
cách thc này Čꢊꢑc xây dng riêng, c th là : Các chu%n cho các cách thc giao  
tip thit b  Čꢊꢑc cho bi h CGI (Computer Graphics Interface System), h  
CGM (Computer Graphics Metafile) xác Č nh các chu%n cho vic lu tr và  
chuyn Čꢐi hình nh, và h PHIGS (Programmer’s Hierarchical Interactive  
Graphics Standard) xác Č nh các cách thc chu%n cho các mô hình thi gian thc  
và các kh n.ng lp trình  mc Čꢎ cao hn mà cha Čꢊꢑc quan tâm t$i trong  
GKS.  
1.4 Các h màu c bn  
Vic nghiên cu màu s#c bao gm nhiu l-nh vc nh: quang hc, sinh lí  
hc, tâm lí hc và các nhân t khác thuc v con ngꢊꢋi. Vì th, có rt nhiu  
quan nim c/ng nh các thành ng v khoa hc các màu s#c. ꢆꢖi v$i nhng  
ngꢊꢋi làm tin hc, vn Čꢜ mà h quan tâm là mi tꢊꢒng tác qua li gia s cm  
nhn màu s#c c a con ngꢊꢋi v$i các b phn phn cng hin th  màu s#c c a  
màn hình máy tính, và v$i các phn mm thit k trên nó.  
13  
Bng dꢊ$i Čây s& trình bày mi quan h này :  
S cm nhn  
ca con ngꢀꢁi  
ꢂꢚc Čim phn cng  
Các màu hin th  gc  
ꢂꢚc Čim phn  
mm  
Màu s#c  
Thut toán trên  
không gian màu  
S#c Čꢎ màu  
Bꢊ$c sóng  
(WaveLength)  
(Hue)  
ꢆꢎ bão hòa  
(Saturation)  
S thun nht c a màu  
Cꢊꢋng Čꢎ sáng  
ꢆꢎ sáng hay Čꢎ  
Hiu ch+nh gamma  
chói  
S "rung" c a Tc Čꢎ làm tꢊꢒi (refresh)  
màn hình  
Không gian màu (color space) do Čó Čꢊꢑc Čꢊa ra Čꢘ Č nh các màu hin th  
trên máy tính bi vì chúng làm Čꢒn gin hóa các thao tác tính toán cn thit cho  
vic chuyn Čꢐi màu s#c (color transformation). Không gian màu có th Čꢊꢑc  
thit k ho,c là da trên c s c a b phát sinh màu c a phn cng (hardware  
color generation) (ví d nh không gian RGB) ho,c là da trên s cm nhn  
màu s#c c a m#t (nh không gian HSL). V$i mt ng dng, vic chn không  
gian màu nào Čꢘ s! dng tùy thuc vào mt s nhân t sau : Čꢎ chính xác mà các  
nhà thit k cn kim soát màu s#c (color control); yêu cu v s tꢊꢒng tác gia  
các màu s#c và tc Čꢎ các tính toán cho ng dng Čó.  
1.4.1 Không gian RGB (RGB space)  
Không gian RGB mô t màu s#c bng ba thành phn Red, Green, Blue.  
Không gian này Čꢊꢑc minh ha bng mt khi lp phꢊꢒng v$i các trc chính  
RED(R), GREEN(G), BLUE(B).  
M0i màu trong không gian RGB Čꢜu Čꢊꢑc biu di)n nh là mt vector thông  
qua ba vector c s là Red, Green, Blue. Do Čó, ng v$i các t hp khác nhau  
c a ba màu này s& cho ta mt màu m$i.  
14  
Hình 1.9: Mô hình không gian RGB  
Trong hình lp phꢊꢒng m0i màu gc (Red, Green, Blue) Čꢊꢑc Č,t vào góc  
Čꢖi din v$i các màu bù nó. (Hai màu bù nhau là hai màu mà khi kt hp to  
thành màu tr#ng hay xám (grey)). Nh vy Red Čꢖi din v$i Cyan, Green Čꢖi  
din v$i Magenta, Blue Čꢖi din v$i Yellow. Giá tr  xám nm trên Čꢊꢋng chéo  
ni các Č+nh (0,0,0);(1,1,1) c a hình lp phꢊꢒng. Thꢊꢋng thꢊꢋng các trc R, G,  
B Čꢊꢑc chu%n hóa. Khi kt hp hai màu li v$i nhau thì màu sinh ra có vector  
bng tng các vector thành phn.  
Mt sthun li khi dùng không gian RGB :  
- Không gian RGB là chu%n công nghip cho các thao tác Čꢇ ha máy  
tính. Các thao tác màu s#c có th Čꢊꢑc tính toán trên các không gian màu  
khác nhng cui cùng cn phi chuyn v không gian RGB Čꢘ có th hin  
th  trên màn hình (do thit k c a phn cng da trên mô hình RGB).  
- Có th chuyn Čꢐi qua li gia không gian RGB v$i các không gian  
màu khác nh CIE, CMY, HSL, HSV, ...  
- Các thao tác tính toán trên không gian RGB thꢊꢋng Čꢒn gin hn.  
Mt sbt li :  
- Các giá tr  RGB c a mt màu là khác nhau Čꢖi v$i các màn hình khác  
nhau : Ngh-a là các giá tr  RGB c a màu tiùm trên màn hình màu này s&  
không sinh ra Čúng màu Čó trên mt màn hình khác.  
- S mô t các màu trong th gi$i thc Čꢖi v$i không gian RGB còn  
nhiu hn ch bi vì không gian RGB không hoàn toàn phù hp v$i s  
cm nhn màu s#c c a con ngꢊꢋi. Hai Čim phân bit trong không gian  
RGB, v$i m#t ngꢊꢋi có th ho,c không th là th hin c a hai màu khác  
nhau. Chính vì Čiu này mà không gian RGB không th ánh x trc tip  
Čꢏn bt c chiu cm nhn nào khác (nh hue, saturation, lightness) ngoài  
hue (s#c Čꢎ).  
1.4.2 Không gian HSL  
Không gian này có chú trng hn không gian RGB Čꢏn các thành phn c a  
s cm nhn màu s#c c a m#t (Hue, Saturation, Lightness). Tuy nhiên, không  
15  
gian HSL thc ra c/ng ch+ là mt phép bin Čꢐi gn Čúng c a không gian RGB  
mà thôi. Không ging nh các không gian màu khác xây dng trên s cm nhn  
màu s#c c a m#t, không gian HSL v2n còn b  l thuc vào phn cng c a CRT.  
Không gian HSL Čꢊꢑc biu di)n trong h ta Čꢎ tr, hình minh ha là hai  
hình nón úp vào nhau. H (Hue) là to Čꢎ ng v$i góc quay, S (Saturation) là ta  
Čꢎ gc, L là trc th'ng Čꢚng. Hu ht các màu Čꢃt bão hòa khi S = 1 và L = 0.5.  
Hình 1.10: Mô hình không gian HSL  
Mt sthun li ca không gian HSL :  
- Không gian HSL gn v$i s cm nhn các thuc tính màu s#c c a  
con ngꢊꢋi hn không gian RGB (tuy cách tip cn Čã Čꢒn gin hóa  
Či nhiu). Các màu Čꢊꢑc xác Č nh d) dàng hn ch'ng hn do H  
quay quanh trc Čꢚng nên các màu bù Čꢊꢑc xác Č nh mt cách d)  
dàng, Čꢖi v$i các giá tr  lightness c/ng vy.  
- Vic kim soát các màu c s HSL d) hn cho nhng ngꢊꢋi m$i  
làm quen v$i các chꢊꢒng trình Čꢇ ha.  
Mt sbt li :  
- Vic thêm vào mt vector không th thc hin Čꢒn gin nh  
không gian RGB (ch+ thêm vào các thành phn màu). Các thao tác  
lꢊꢑng giác khi bin Čꢐi s& nh hꢊꢛng Čáng k Čꢏn tc Čꢎ c a  
chꢊꢒng trình.  
- Cn phi qua hiu ch+nh gamma trꢊ$c khi hin th  (ging nh các  
không gian khác).  
1.4.3 Không gian HSV  
Không gian HSV thc cht c/ng ch+ là mt s bin Čꢐi khác c a không gian  
RGB. Không gian HSV Čꢊꢑc mô hình bng hình lp phꢊꢒng RGB quay trên  
Č+nh Black c a nó. H (Hue) là góc quay quanh trc Values, S (Saturation) Či t  
0 Čꢏn 1, trc V (Values) do vy tꢊꢒng ng v$i Čꢊꢋng chéo ni Č+nh White và  
Black.  
16  
Hình 1.11: Mô hình không gian HSV  
Theo cách này, các màu Čꢃt bão hòa khi S=1 và V=1. Trong không gian HSV  
các màu Čꢊꢑc chu%n hóa v s các gam (gamut) màu c a thit b  hin th .  
Mt sthun li ca không gian HSV :  
- Không gian HSV d) dàng Čáp ng các màu s#c c a các chꢊꢒng trình  
Čꢇ ha do Čꢊꢑc xây dng da trên s b#t chꢊ$c lut trn màu c a ngꢊꢋi  
ha s-. Ví d : Khi cn thêm màu tr#ng vào, phi Č,t V=S=1 sau Čó  
gim S t t cho t$i khi Čꢃt Čꢊꢑc màu va ý; hay khi cn thêm màu Čen  
vào, Čiu Čó có ngh-a là gim V (cꢊꢋng Čꢎ sáng) và c Č nh S,...  
- Do không cn s! dng các phép bin Čꢐi lꢊꢑng giác khi mun  
chuyn sang không gian RGB nên không gian HSV có nhiu thun li  
v m,t tính toán hn so v$i không gian HSL.  
Mt sbt li :  
- Cn có các phép hiu ch+nh gamma.  
1.4.4 Không gian màu CMY (Cyan - Magenta - Yellow)  
Tꢊꢒng t nh không gian màu RGB nhng 3 thành phn chính là Cyan -  
Magenta - Yellow. Do Čó, ta Čꢎ các màu trong không gian CMY trái ngꢊꢑc v$i  
không gian RGB. Ví d : màu White có các thành phn là (0,0,0), màu Black  
(1,1,1), màu Cyan (1,0,0),....  
17  
Bng so sánh gia các không gian màu  
RGB  
HSL  
HSV  
Chu%n công  
nghip cho các  
thao tác Čꢇ ha  
máy tính  
Hình thc bin Čꢐi Hình thc bin Čꢐi  
khác c a không  
gian RGB  
khác c a không  
gian RGB  
Liên h trc tip  
v$i phn cng  
Liên h gn hn Liên h gn hn v$i  
v$i s cm nhn  
màu s#c c a con  
ngꢊꢋi  
s cm nhn màu  
s#c c a con ngꢊꢋi  
Là chuyn Čꢐi  
cui cùng cho tt bin Čꢐi phc tp  
c các nhu cu  
òi h"i các phép ã Čꢒn gin hóa các  
thao tác tính toán.  
hin th  
Không th chuyn  
sang màn hình  
khác (ph thuc  
thit b )  
ꢆꢎc lp thit b  
ꢆꢎc lp thit b  
Không có s  
tꢊꢒng ng 1-1 v$i  
cách cm nhn  
màu c a con  
ngꢊꢋi  
Có  
Có  
Mô hình là hình  
Mô hình là hai  
hình nón úp vào  
nhau  
Mô hình là hình nón  
lp phꢊꢒng  
Čꢒn  
ꢆꢊꢑc chu%n hóa ꢆꢊꢑc chu%n hóa v ꢆꢊꢑc chu%n hóa v  
v 1  
1
1
ꢆꢎ bão hòa Čꢃt  
max khi S =1  
ꢆꢎ bão hòa Čꢃt  
max khi S =1, L  
=0.5  
ꢆꢎ bão hòa Čꢃt max  
khi S =1, V =1  
Trn màu không  
Rõ ràng  
Rõ ràng  
rõ ràng  
18  
Chꢂꢃng 2  
Các thut toán v Čꢀꢁng và  
tô màu c bn  
2.1 Hta Čꢉ thgii thc, hta Čꢉ thit bvà hta Čꢉ  
chun  
Trong l-nh vc k thut Čꢇ ha, chúng ta phi hiu Čꢊꢑc rng thc cht c a  
Čꢇ ha là làm th nào Čꢘ có th mô t và bin Čꢐi Čꢊꢑc các Čꢖi tꢊꢑng trong th  
gi$i thc trên máy tính. Bi vì, các Čꢖi tꢊꢑng trong th gi$i thc Čꢊꢑc mô t  
bng ta Čꢎ thc. Trong khi Čó, h ta Čꢎ thit b  li s! dng h ta Čꢎ nguyên  
Čꢘ hin th  các hình nh. ây chính là vn Čꢜ c bn cn gii quyt. Ngoài ra,  
còn có mt khó kh.n khác na là v$i các thit b  khác nhau thì có các Č nh ngh-a  
khác nhau. Do Čó, cn có mt phꢊꢒng pháp chuyn Čꢐi tꢊꢒng ng gia các h  
ta Čꢎ Čꢖi tꢊꢑng phi Čꢊꢑc Č nh ngh-a bi các thành phn Čꢒn gin nh th  
nào Čꢘ có th mô t gn Čúng v$i hình nh thc bên ngoài.  
Hai mô hình c bn c a ng dng Čꢇ ha là da trên m2u s hóa và da trên  
Č,c trng hình hc. Trong ng dng Čꢇ ha da trên m2u s hóa thì các Čꢖi  
tꢊꢑng Čꢇ ha Čꢊꢑc to ra bi lꢊ$i các pixel ri rc. Các pixel này có th Čuc  
to ra bng các chꢊꢒng trình v&, máy quét, ... Các pixel này mô t ta Čꢎ xác  
Č nh v  trí và giá tr  m2u. Thun li c a ng dng này là d dàng thay Čꢐi nh  
bng cách thay Čꢐi màu s#c hay v  trí c a các pixel, ho,c di chuyn vùng nh t  
ni này sang ni khác. Tuy nhiên, Čiu bt li là không th xem xét Čꢖi tꢊꢑng t  
các góc nhìn khác nhau. 4ng dng Čꢇ ha da trên Č,c trng hình hc bao gm  
các Čꢖi tꢊꢑng Čꢇ ha c s nh Čon th'ng, Ča giác,.... Chúng Čꢊꢑc lu tr bng  
các mô hình và các thuc tính. Ví d : Čon th'ng Čꢊꢑc mô hình bng hai Čim  
Čꢈu và cui, có thuc tính nh màu s#c, Čꢎ dày. Ngꢊꢋi s! dng không thao tác  
trc tip trên các pixel mà thao tác trên các thành phn hình hc c a Čꢖi tꢊꢑng.  
2.1.1 H ta Čꢉ th gii thc  
Mt trong nhng h ta Čꢎ thc thꢊꢋng Čꢊꢑc dùng Čꢘ mô t các Čꢖi tꢊꢑng  
trong th gi$i thc là h ta Čꢎ Descartes. V$i h ta Čꢎ này, m0i Čim P Čꢊꢑc  
biu di)n bng mt c,p ta Čꢎ (xp,yp) v$i xp, yp R  
19  
y
yp  
P( xp, yp)  
0
xp  
x
Hình 2.1: H ta Čꢎ th gi$i thc  
. Ox : gi là trc hoành.  
. Oy : gi là trc tung.  
. xp : hoành Čꢎ Čim P.  
. yp : tung Čꢎ Čim P.  
2.1.2 Hta Čꢉ thit bꢍ  
H ta Čꢎ thit b  (device coordinates) Čꢊꢑc dùng cho mt thit b  xut c th  
nào Čó, ví d nh máy in, màn hình,..  
Trong h ta Čꢎ thit b  thì các Čim c/ng Čꢊꢑc mô t bi c,p ta Čꢎ (x,y).  
Tuy nhiên, khác v$i h ta Čꢎ thc là x, y N. iu này có ngh-a là các Čim  
trong h ta Čꢎ thc Čꢊꢑc Č nh ngh-a liên tc, còn các Čim trong h ta Čꢎ thit  
b  là ri rc. Ngoài ra, các ta Čꢎ x, y c a h ta Čꢎ thit b  ch+ biu di)n Čꢊꢑc  
trong mt gi$i hn nào Čó c a N.  
Ví d : ꢆꢎ phân gii c a màn hình trong ch Čꢎ Čꢇ ha là 640x480. Khi Čó,  
x(0,640) và y(0,480) (xem hình 2.2).  
640  
0
x
480  
y
Hình 2.2: H ta Čꢎ trên màn hình  
2.1.3 H ta Čꢉ thit b chu n (Normalized device coordinates)  
Do cách Č nh ngh-a các h ta Čꢎ thit b  khác nhau nên mt hình nh hin  
th  Čꢊꢑc trên thit b  này là chính xác thì cha ch#c hin th  chính xác trên thít  
20  
Tải về để xem bản đầy đủ
pdf 100 trang Thùy Anh 04/05/2022 4460
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình môn Đồ họa máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_mon_do_hoa_may_tinh.pdf