
OA
Ơ
O
A !"
#$%&'()%*)+%%,$%-.%,%,/01%2324 5%,*$67893%
6.%,
$564:;<;
Giáo trình  Ha Máy Tính 2
MC LC
M U

Chng 1 GII THIU V  HA MÁY TÍNH

1.1
Tng quan ha máy tính

1.2
Các thành phn c bn ca h  ha máy tính

1.3 H ta  th gii thc, h ta thit bh ta  chun

Chng 2 CÁC THUT TOÁN V I TNG  HA CƠ BN

2.1 Thu t toán v! o"n th#ng

2.1.1 Thu t toán DDA (Digital DifferentialAnalyzer) ................................................. 12
2.1.3 Thu t toán MidPoint .......................................................................................... 17
2.2 Thu t toán MidPoint v! $ng tròn

2.3 Thu t toán MidPoint v! Ellipse

2.4. $ng cong tham s%

2.4.1. $ng cong Bezier

2.4.1.1. Thu t toán de Casteljau .............................................................................. 31
2.4.1.2. Thu t toán Horner....................................................................................... 34
2.4.2. $ng cong B-Spline

Bài t p chng 2

Chng 3 TÔ MÀU

3.1
Gii thiu v& màu s'c

3.2
Tô màu n gin

3.3 Tô màu theo dòng quét (ScanConvert)

3.4 Tô màu theo vt du loang (FloodFill)

Bài t p chng 3

Chng 4 PHÉP BI(N )I HAI CHIU

4.1 Nh'c l"i các phép toán c s* vi ma ma tr n.

4.2 Phép tnh tin

4.3 Phép bin i t+ l

4.4
Phép quay

4.5 Phép %i x,ng

4.6 Phép bin d"ng

Giáo trình  Ha Máy Tính 3
4.7 Phép bin i Affine ng-c

4.8 H ta  thun nh.t

4.9 Kt h-p các phép bin i

Bài t p chng 4

Chng 5 GIAO CÁC I TNG  HA

5.1.
M* u

5.2.
Giao ca hai o"n th#ng

5.3.
o"n th#ng và hình ch/ nh t

5.3.1 Tìm giao b0ng cách gii h phng trình ....................................................... 69
5.3.2 Thu t toán chia nh phân ............................................................................... 69
5.3.3 Thu t toán Cohen-Sutherland ........................................................................ 72
5.3.4 Thu t toán Liang-Barsky ............................................................................... 74
5.4.
Giao ca o"n th#ng a giác li

5.5.
Giao hai a giác

5.6.
K1 thu t Ray tracing

Chng 6  HA BA CHIU

6.1.
Gii thiu  ha 3 chi&u

6.2. Bi2u di3n %i t-ng 3 chi&u

6.3. Các phép bin i 3 chi&u

6.3.1. H ta bàn tay phi - bàn tay trái .................................................................. 98
6.3.2. Các phép bin i Affine c s* ......................................................................... 99
6.3.2.1 Phép quay quanh tr4c x ................................................................................ 99
6.3.2.2 Phép quay quanh tr4c y .............................................................................. 100
6.3.2.3 Phép quay quanh tr4c z ............................................................................. 100
6.3.2.4 Phép quay quanh tr4c song song vi tr4c ta  ....................................... 101
6.3.2.5 Phép quay quanh tr4c b.t k5 ..................................................................... 103
PH6 L6C: TH VIN  HA OpenGL

TÀI LIU THAM KHO

Giáo trình  Ha Máy Tính 4
M U
 ha máy tính mt trong nh/ng l7nh vc h.p d8n phát tri2n nhanh ca
Công ngh Thông tin.-c ra $i b*i s kt h-p ca 2 l7nh vc thông tin và truy&n
hình, -c s9 d4ng rng rãi trong hu ht các ,ng d4ng nh khoa hc công
ngh, y hc, giáo d4c, kin trúc, k2 c gii trí. Ngày nay, nh$ vào s tin b ca
khoa hc k1 thu t nên phn c,ng giá thành ca máy tính càng lúc càng phù h-p,
các k1 thu t  ha -c ,ng d4ng trong thc t nhi&u nên ngày càng nhi&u ng$i
quan tâm nghiên c,u n l7nh vc này.
Tuy nhiên, vic d"y hc k1 thu t  ha mày tính thì không n gin ch
& này có nhi&u vn & ph,c t"p, liên quan n tin hc c toán hc. Hu ht các gii
thu t v!, màu cùng các phép bin hình &u -c xây dng da trên n&n tng ca
hình hc không gian hai chi&u và ba chi&u.
Giáo trình  ha máy tính này -c xây dng da trên kinh nghim ging d"y
ã qua da trên tài liu tham kho chính : Donald Hearn, M. Pauline Baker;
Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986”.
Giáo trình  ha máy tính mt môn hc -c ging d"y cho sinh viên
chuyên ngành Công ngh Thông tin vi 45 tit thuyt 30 tit thc t p. Ni dung
ca giáo trình này gm có 3 v.n & chính nh sau :
Trình bày các thu t toán v! các $ng c bn nh $ng th#ng, a
giác, $ng tròn, ellipse các $ng Bezier, B-Spline. Các thu t toán này
giúp cho sinh viên có th2 t thit k 2 v! và tô màu mt mô hình  ha .
Ni dung th, hai & c p n các phép bin i Affine, tìm giao các %i
t-ng, tô màu ca  ha hai chi&u.
Ni dung th, ba trình bày v& quan sát, hi2n th bin i Affine trên không
gian ba chi&u.
Trong quá trình biên so"n ch'c không tránh kh:i thiu sót, tôi xin trân trng
nh n -c s góp ý ca các quý ng nghip sinh viên 2 giáo trình ngày càng
-c hoàn thin hn.
Giáo trình  Ha Máy Tính 5
Chng 1
GII THIU V  HA MÁY TÍNH
Ni dung chính
Tng quan v&  ha máy tính.
Các ,ng d4ng ca ha máy tính.
Các thành phn c bn ca h  ha máy tính.
H ta  thc và h ta   ha.
1.1 Tng quan  ha máy tính
 ha máy tính bao gm t.t c nh/ng gì liên quan n vic s9 d4ng máy tính 2
phát sinh ra hình nh. Các v.n & liên quan n công vic này bao gm: t"o, lu tr/,
thao tác trên các mô hình và các nh.
Ngày nay, hu ht các chng trình so"n tho, bng tính s9 d4ng  ha trong
giao din vi ng$i dùng. S phát tri2n ca  ha máy tính ngày càng rng i vi
các ch   ha hai chi&u (2D) 3 chi&u (3D), cao hn, ph4c v4 trong các
l7nh vc hi hc khác nhau nh khoa hc, giáo d4c, y hc, k1 thu t, thng m"i
gii trí. Tính h.p d8n a d"ng ca  ha máy tính th2 -c minh ha r.t trc
quan thông qua vic kho sát các ,ng d4ng ca nó.
 ha máy tính -c s9 d4ng r.t rng rãi vì n 80% các ,ng d4ng liên quan
n hình nh -c ,ng d4ng trong nhi&u l7nh vc khác nhau nh công nghip,
thng m"i, qun lý, giáo d4c, gii trí, v.v. S% l-ng các chng trình  ha ,ng
d4ng r.t ln phát tri2n liên t4c. Sau ây mt s% ,ng d4ng tiêu bi2u ca  ha
trong thc t:
H tr thit k - CAD/CAM (Computer-Aided Design/ Computer-Aided
Manufacturing):
Các h th%ng thit kch t"o vi s tr- giúp ca máy tính
-c ,ng d4ng trong các l7nh vc nh phân tích thit k kt c.u xây dng,
công nghip in t9, công nghip th$i trang, các ngành công nghip ch t"o
ôtô, máy bay, xe máy....