Chng 1: Gii thiu v đ ha máy tính
1. Khái nim đ ha máy tính (Computer Graphic)
ha máy tính là mt lnh vc ca Công ngh thông tin chuyên nghiên cu, xây dng
các mô hình lí thuyt và phn mm dùng cho vic kin to, lu tr, x lý các mô hình
(models) và hình nh (images)
2. ng dng ca đ ha máy tính
ng dng ca đ ha ht sc phong phú, rt nhiu lnh vc trong cuc sng s dng
đn k thut đ ha. Ta có th phân loi các ng dng đ ha nh sau:
Sau đây là mt s ng dng tiêu biu ca đ ha trong thc t
2.1 th và bn đ (Graphs and Charts)
ây là ng dng ch yu trong lnh vc đ ha minh ha, ng dng này cho phép hin
th các biu đ d liu (data plots) cng nh trong lnh vc biu din và x lý đ ha. Mt
trong s nhng ng dng hin nay là h thng thông tin đa lí GIS (Geographical Information
System).
2.2 CAD/CAM (Computer-Aided Design/ Computer-Aided Manufacturing)
Các h thng thit k và ch to vi s tr giúp ca máy tính đc ng dng trong các
lnh vc nh phân tích thit k kt cu xây dng, công nghip đin t, công nghip thi trang,
các ngành công nghip ch to ôtô, máy bay, xe máy....
2.3 Gii trí (Entertainment)
Vi s h tr đ ha hin nay chúng ta có th sn xut nhiu sn phm phc v cho lnh
vc gii trí đc bit là phim hot hình (animated films) và các trò chi (games) trên máy tính.
Nhiu phn mm và ngôn ng lp trình h tr ra đi cho phép ta to ra các hình nh đng
(motion pictures) gn vi vi cuc sng thc. Trong giáo trình này chúng ta s làm quen vi
công c OpenGL.
2.4 X lí nh( Image Processing)
Các k thut x lí và thay đi mt bc nh có sn và đc áp dng trong nhiu lnh vc
ca đi sng. Ví d ta có th s dng phn mm đ khôi phc mt bc nh, phân tích các bc
nh đc chp t v tinh...
ha
máy tính
Kin to đ ha
CAD/CAM System
ha minh ha
Gii trí
X lí đ ha
X lí nh
K thut nhn dng
K thut phân tích và to nh
2.5 K thut nhn dng (Pattern Recognition)
ây là mt lnh vc ca k thut x lí nh, các chuyên gia s xây dng mt th vin nh
gc bng cách áp dng các thut toán phân tích và chn lc t nhng nh mu có sn. Da
trên th vin đó các chuyên gia có th phân tích và t hp nh
2.6. Giao din đ ha ngi dùng (Graphical User Interface-GUI)
Rt nhiu phn mm ng dng ngày nay cung cp GUI cho ngi dùng. Thành phn
chính ca mt giao din đ ha đó là chng trình qun lí ca s cho phép ngi s dng
hin th nhiu ca s ngi ta gi đó là các ca s hin th (display windows). Nh có GUI
mà ngi s dng có th d dàng thit k giao din cho các chng trình ng dng.
3. Gii thiu v OpenGL
OpenGL là phn mm giao din vi các phn cng đ ha đc phát trin bi Silicon
Graphíc Inc. (SGI). OpenGL còn đc hiu nh là mt h giao tip lp trình ng dng
(application program interface- API) bao gm khong 250 câu lnh đc h tr bi nhiu
ngôn ng nh C, C++, Java...cho phép ngi lp trình s dng to ra các đi tng đ ha.
OpenGL đc thit k không ph thuc vào nn tng phn cng cng nh h điu hành máy
tính (independence of hardware platform and operating system) . Vi OpenGL ta s to ra
các mô hình t các đi tng hình hc c bn đó là đim (point), đng (line) và đa giác
(polygon).
Cú pháp lnh ca OpenGL: Các câu lnh ca OpenGL đu s dng tin t gl và các t
tip theo đc bt đu bng kí t hoa, ví d glClearColor(). Các hng đc đnh ngha bng
tin t GL_ tiptheo là các t vit hoa đc ngn cách bng kí t gch di, ví d
GL_COLOR_BUFFER_BIT
Các th vin liên quan ca OpenGL: Mc dù OpenGL là mt công c mnh nhng các
đi tng v đu là các đi tng hình hc c bn. đn gin hóa mt s công vic, chúng
ta đc trang b thêm mt s th vin cho phép s dng các th tc v mc cao hn:
- OpenGL Utility Library (GLU): Bao gm mt s th tc thit lp ma trn xác đnh
hng nhìn (viewing orientation), ma trn các phép chiu (projection), và biu din các mt
trong không gian 3 chiu (redering surfaces)
- OpenGL Utility Toolkit (GLUT): Là mt b công c đc vit bi Mark Kilgard bao
gm các th tc giúp cho đn gin hóa vic xây dng các đi tng hình hc. Các th tc ca
GLUT đc bt đu bng tin t glut.