Tải bản đầy đủ (.pdf) (74 trang)

Nghiên cứu lập trình đồ họa và xây dựng game 3d cho mobile

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (961.15 KB, 74 trang )

75Ѭ
Ӡ1*Ĉ
ҤI HӐ&6Ѭ3+
Ҥ0Ĉ¬1
ҸNG
KHOA TIN HӐC
# "

LUҰ19Ă17
ӔT NGHIӊP
CӰ NHÂN CƠNG NGHӊTHƠNG TIN
KHĨA 2009

1*+,ầ1&8/375ẻ1+
V
;ặ<'1**$0('&+2

*LiRYLrQKQJGQ
Th.S 7518<ầ175$1*
Sinh viờn thc hi
n : TR1
C HUY

ơ1
NG
7+ẩ1*10
1


NHN XẫT C$*,ẩ29,ầ1+
NG DN


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

j1QJ
QJj\ôôWKiQJôô

*LiRYLrQKQ

2



NHҰN XÉT CӪA HӜ,Ĉ
ӖNG XÉT DUYӊT
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................

Ĉj1ҹQJ
QJj\««WKiQJ««

+ӝLÿӗQJ[pWG

3



Mөc lөc
NHҰN XÉT CӪ$*,È29,Ç1+Ѭ
ӞNG DҮN ................................
................................
...............2
NHҰN XÉT CӪA HӜ,Ĉ
ӖNG XÉT DUYӊT ................................
................................
..................3
MӢĈҪU................................
................................
................................
................................
............6
&KѭѫQJ&Ѫ6
ӢLÝ THUYӂT ................................
................................
................................
....... 7
1.

Khái niӋ
Pÿ
ӗhӑ
a máy tính ................................
................................
................................
.7


2.

Sӵphát triӇ
n cӫDÿ
ӗhӑ
DGLÿ
ӝ
ng ................................
................................
........................9

3.

Khái niӋ
PFѫE
ҧn vӅ3D ................................
................................
................................
..... 12
3.1.

HӋtӑDÿ
ӝ3 chiӅ
u ................................
................................
................................
........12

3.2.


9HUWH[ ÿ
Ӎ
nh) ................................
................................
................................
...............15

3.3.

Edge (cҥnh) ................................
................................
................................
.................15

3.4.

7ULDQJOH4XDG 7DPJLiFYjFiFKuQKÿD
................................
...................16

3.5.

Normal Vector (Vector pháp tuyӃ
n) ................................
................................
.........16

3.6.


Pixel ................................
................................
................................
.............................
17

3.7.

Texture & Texel................................
................................
................................
..........17

3.8.

Fragment ................................
................................
................................
.....................17

3.9.

Phép chiӃ
u song song và phép chiӃ
u phӕi cҧnh ................................
.......................18
Các kênh màu (Color channel) ................................
................................
.............19


3.10.
4.

&iFWKѭYL
Ӌ
Qÿ
ӗhӑ
a DirectX, OpenGL và OpenGL ES 2 ................................
..............20

5.

Rendering Pipeline (quy trình trình chiӃ
u hình ҧ
nh) ................................
.....................30

6.

Shader ................................
................................
................................
................................
. 33

7.

Các khái niӋ
m toán hӑF'FѫE
ҧ

n ................................
................................
...................35

8.

Ma trұn MVP ................................
................................
................................
.....................40

9.

Texture ................................
................................
................................
................................
43

10.

0{KuQKÿ
ӕLWѭ
ӧng (Model) ................................
................................
...........................44

11.

Ngôn ngӳGLSL ................................

................................
................................
.............45

12.


u trúc cӫa mӝWWUzFKѫL JDPH

................................
................................
.................48

13.

Gii thi
u vGame Engine................................
................................
............................
49

&KQJ3+ặ17ậ&+9ơ;ặ<'
1*
TI ................................
................................
....... 51
1.

Gii thi
X

ti v n
i dung game ................................
................................
...................51

2.

Các thành phҫn gӗm có trong game ................................
................................
.................53

3.

ThiӃ
t kӃcác lӟSÿ
ӕ
LWѭ
ӧng ................................
................................
................................
. 55

4.

ChuyӇ
QJDPHWUrQPi\WtQKVDQJÿL
Ӌ
n thoҥ
i ................................
................................

... 65

5.

Mӝt vài hình ҧ
nh demo game ................................
................................
............................
69
4


KӂT LUҰ19¬+Ѭ
ӞNG PHÁT TRIӆN ................................
................................
.......................73
TÀI LIӊU THAM KHҦO................................
................................
................................
................74

5


MӢĈҪU

Ngày nay, sӵphát triӇ
n bùng nәcӫa các thiӃ
t bӏGLÿ
ӝ

QJÿmFyWiFÿ
ӝng không nhӓ
tӟL
ӡi ÿ

ng chúng ta. Có thӇdӉdàng nhұ
n thҩ
y, các thiӃ
t bӏsӕGL
ӝQJ
ÿ QKѭ
6PDUWSKRQH L3KRQH $QGURLG«

ҥ
i máy tính bҧ
WDEOHW
ng
NKiF«
G
ҫ
n trӣthành vұ
t bҩ
WO\WKkQÿ
ӕ
i vӟi mӛLQJѭ
ӡi, chúng ta sӱdөng chúng

XQKѭNK
ҳ
p mӑLQѫLYjP

ӑLO~FNKLÿLK
ӑc, tҥ
i cơng sӣNKLÿLFKѫLY
ӟi bҥ
n bè, ӣ
QKj«
Chính vì sӵphәbiӃ
n này, kèm theo sӵphát triӇ
QYѭ
ӧt bұ
c vӅcông nghӋphҫ
n cӭng

n phҫ
n mӅ
m cӫ
a các thiӃ
t bӏGLÿ
ӝQJÿmEL
Ӄ
n nhӳng chiӃ
FÿL
Ӌ
n thoҥ
i chӍcó màn
hình trҳ
QJÿHQQJKHJ
ӑ
i nhҳ
QWLQQJj\[ѭDWU

ӣWKjQKQKѭQJF
ӛmáy mҥ
nh mӁvӟi

u hình mҥ
nh, hӋÿL
Ӆ
XKjQKÿDQKL
Ӌ
PÿDWiFY
ө, kӃ
t nӕLLQWHUQHWWKѭ
ӡng trӵc 24/24
vӟi các cơng nghӋ3G, wifi.
Nhӡvұ
y mà nhu cҫ
u giҧ
i trí trên các thiӃ
t bӏFNJQJQJj\P
ӝWWăQJÿ
ӗng thӡi vӟi sӵ

nh tranh cӫa các hãng sҧ
n xuҩ
t thiӃ
t bӏGLÿ
ӝ
QJÿmFXQJF
ҩ
p cho giӟi lұ

p trình rҩ
t
nhiӅ
u cơng cөÿӇhӛtrӧphát triӇ
n các sҧ
n phҭ
m cơng nghӋ
, giҧ
i trí trên các thiӃ
t bӏ
GLÿ
ӝ
ng, rҩ
t nhiӅ
u chӧӭng dө
QJÿ
ѭӧFÿ
ҫ
XWѭSKiWWUL
Ӈ
Qÿ
Ӈÿ
ҧ
m bҧ
Rÿ
ҫ
u ra cho các

n phҭ
m ӭng dө

QJ ӝ
GL
ng, giúp
ÿ các lұ
p trình viên dӉdàng kiӃ
P ÿѭ
ӧc tiӅ
n tӯ
nhӳng sҧ
n phҭ
m cӫa mình và dӉGjQJҧ
nÿѭD
phҭ
m cӫ
V
D PuQK
Ӄ
n thӏ
UD
WUѭ
ӡngÿ
quӕ
c tӃmӝ
t cách nhanh chóng, mà khơng cҫ
n phҧ
LORQJKƭ
nhiӅ
u cho viӋ
c quҧ
ng bá


n phҭ
PKD\ÿDXÿ
ҫ
u các chiӃ
QOѭ
ӧc kinh doanh phӭc tҥ
p.

ĈӇnҳ
m bҳ
t xu thӃcông nghӋthӃgiӟi và tұ
n dөQJFѫK
ӝi lӟn này, em cҧ
m thҩ
y cҫ
n
thiӃ
t phҧ
i nghiên cӭXVkXYjROƭQKY
ӵc phát triӇ
n ӭng dөQJGLÿ
ӝQJÿ
ҫ
y hҩ
p dү
n này,
vì thӃnên em chӑ
Qÿ
Ӆtài Nghiên cӭu lұS WUuQK

ӗhӑa và xây
ÿ dӵng Game 3D
cho mobile vӟi mө
FWLrXOjFyÿѭ
ӧc cái nhìn tồn diӋ
n và hiӇ
XU}ÿѭ
ӧc thӃnào là

S WUuQK
ӗhӑ
a, game,
ÿ các cơng nghӋÿҵ
QJ VDX ÿy
Ӈxây
Yj
dӵngOjP
cho
VDR
mình mӝt bӝcơng cөmà tӯÿyFyW
hӇsӱdөQJÿ
Ӈxây dӵng bҩ
t cӭmӝt game nào tùy
thích cho các thiӃ
t bӏGLÿ
ӝQJ L3KRQHL3DG$QGURLGSK
ӭng dөng nhӳng
kiӃ
n thӭc này xây dӵng mӝWJDPH'ÿѫQJL
ҧ

n lҩ
\ÿ
Ӆtài biӇ
Qÿ
ҧ
o ViӋ
t Nam vӟi tên

i: Game Bҧ
o vӋ+RjQJ6D7Uѭ
ӡng Sa.

6


&KѭѫQJ
&Ѫ6
Ӣ LÝ THUYӂT
1. Khái niӋ
Pÿ
ӗhӑ
a máy tính

Ĉӗhӑ
a máy tính là mӝWOƭQKY
ӵc cӫ
a khoa hӑc máy tính nghiên cӭu vӅFѫV
ӣtốn

c, các thuұ

W WRiQ FNJQJ
ұ
W
QKѭ
Ӈcho
ÿ phép
FiF

o, hiӇ
Nƭ
n thӏYj
WKX
Ӆ
u ÿL
khiӇ
n
hình ҧ
QKWUrQPjQKuQKPi\WtQKĈ
ӗhӑa máy tính có liên quan ít nhiӅ
Xÿ
Ӄ
n mӝ
t sӕ
OƭQKY
ӵFQKѭ
ÿ
ҥ
i sӕ
, hình hӑ
c giҧ

i tích, hình hӑc hӑ
a hình, quang hӑFYjNƭ
ұ
t
Pi\WtQKÿ
һ
c biӋ
t là chӃtҥ
o phҫ
n cӭng (các loҥ
i màn hình, các thiӃ
t bӏxuҩ
t, nhұ
p,
các vӍmҥ
FKÿ
ӗhӑ
a...).

7KHR QJKƭD
ӝ
QJ KѫQ
ӗhӑ
UD Pi\
ÿ
WtQK Oj SKѭѫQJ
Ӌdùng trong
SKiS
viӋ
c chuyӇ

Qÿ
әi qua lҥ
i giӳa dӳliӋ
u và hình ҧ
nh trên màn hình bҵ
QJPi\WtQK
ӗ

DPi\WtQKKD\NƭWKX
ұ
Wÿ
ӗhӑDPi\WtQKFzQÿѭ
ӧc hiӇ
XGѭ
ӟi dҥ
QJSKѭѫQJS
YjNƭWKX
ұ
t tҥ
o hình ҧ
nh tӯcác mơ hình tốn hӑc mô tҧFiFÿ
ӕLWѭ
ӧng hay dӳliӋ
u lҩ
y
ÿѭ
ӧc tӯcác ÿ
ӕLӧng

trong thӵc tӃ

. Thuұ
t ngӳÿ
ӗhӑ
a máy tính" (computer
JUDSKLFV
ÿѭ
ӧFÿ
Ӆxuҩ
t bӣi mӝ
WFKX\rQJLDQJѭ
ӡL0ƭWrQOj:LOOLDP
.KLÿy{QJÿDQJQJKLrQF
ӭu xây dӵng mơ hình buӗng lái máy bay cho hãng
%RHLQJ :LOOLDP
ӵa trên các)HWWHU
hình ҧ
nh 3 chiӅ
uÿm
cӫD
GP{ KuQK
ӡi phi
QJѭ
cơng trong buӗQJ OiL
Ӈxây dӵng
ÿ nên mơ hình buӗ
ng lái tӕL ѭX FKR Pi\
%RHLQJĈk\OjSKѭѫQJSKiSQJKLrQF
ӭu rҩ
t mӟi vào thӡLNuÿy3KѭѫQJ
cho phép các nhà thiӃ

t kӃquan sát mӝt cách trӵc quan vӏtrí cӫ
D QJѭ
ӡi lái trong
khoang buӗ
QJOiL:LOOLDP)HWWHUÿmÿ
һ
WWrQFKRSKѭѫQJSKiSF
ӫa mình là computer
graphics...

ch sӱcӫ
D
ӗÿ

a máy tính vào thұ
S QLrQ 
ӧF ÿiQK
FzQ
ҩ
u bӣi dӵ
G
ÿѭ
án
6NHWFK3DGÿѭ
ӧc phát triӇ
n tҥ
i Hӑc viӋ
n Công nghӋMassachusetts (MIT) bӣi Ivan
Sutherland. Các thành tӵX WKX
ӧF ÿѭ

ÿm
ӧc báo
ÿѭ
cáo tҥ
i hӝi nghӏFall Joint
&RPSXWHUYjÿk\FNJQJFKtQKO
à sӵkiӋ
n lҫ
Qÿ
ҫ
XWLrQQJѭ
ӡi ta có thӇtҥ
o mӟi, hiӇ
n thӏ
YjWKD\ÿ
әLÿѭ
ӧc dӳliӋ
u hình ҧ
nh trӵc tiӃ
p trên màn hình máy tính trong thӡi gian
thӵc. HӋthӕ
QJ 6NHWFKSDG
ӧF GQJ
Ӈ
Qj\
thiӃ
t kӃ
ÿhӋ
ÿѭ
thӕng mҥ

FK
Ӌ
n ÿL
và bao
gӗm nhӳng thành phҫ
n sau:
x Màn hình CRT
x Bút sáng và mӝ
t bàn phím bao gӗm các phím chӭFQăQJ
x Máy tính chӭDFKѭѫQJWUuQK[
ӱlí các thơng tin

Vӟi hӋthӕ
QJQj\QJѭ
ӡi sӱdөng có thӇvӁtrӵc tiӃ
SFiFVѫÿ
ӗmҥ
FKÿL
Ӌ
n lên màn
KuQK WK{QJ TXD E~W
ӁphânViQJ
tích và tính tốn
FKѭѫQJ
các thơng sӕcҫ
WUuQK
n
thiӃ
t cӫ
a mҥ

FKÿL
Ӌ
QGRQJѭ
ӡi dùng vӁnên.
Kӻthuұ
Wÿ
ӗhӑ
Dÿѭ
ӧc liên tөc hoàn thiӋ
n vào thұ
p niên 1970 vӟi sӵxuҩ
t hiӋ
n cӫa
các chuҭ
Qÿ
ӗhӑDOjPWăQJFѭ
ӡng khҧQăQJJLDRWL
Ӄ
p và tái sӱdөng cӫa phҫ
n mӅ
m
FNJQJQKѭFiFWKѭYL
Ӌ
Qÿ
ӗhӑa.
7


Sӵphát triӇ
Qӧ


t bұ
c cӫa công nghӋYL
Ӌ
n ÿL
tӱvà phҫ
n cӭng máy tính vào thұ
p
niên 1980 làm xuҩ
t hiӋ
n hàng loҥ
t các vӍmҥ
ch hӛtrӧcho viӋ
c truy xuҩ
Wÿ
ӗhӑ
a ÿL
cùng vӟi sӵgiҧ
PJLiÿiQJN
ӇcӫD Pi\WtQK
ӗFiQKkQOjPÿ
hӑDQJj\FjQJ
vào cuӝ
c sӕng thӵc tӃ
.
Ĉӗhӑ
a máy tính có rҩ
t nhiӅ
u ӭng dөQJWURQJPi\WtQKYuѭ
ӟFWtQKÿ

Ӄ
n 80% thơng
tin xӱlí là hình ҧ
nh. Mӝt sӕӭng dө
ng tiêu biӇ
u cӫ
Dÿ
ӗhӑDPi\WtQKQKѭ
là:
x
x
x
x


o mơ hình, hoҥ
t cҧ
nh (game, giҧ
i trí,...)
HӛtrӧthiӃ
t kӃÿ
ӗhӑ
a
Mơ phӓ
ng hình ҧ
nh, chuҭ
QÿRiQKuQK
ҧ
nh (trong y tӃ
)

Huҩ
n luyӋ
QÿjRW
ҥ

o (quân sӵ, hành không,...)

8


2. Sӵphát triӇ
n cӫDÿ
ӗhӑDGLÿ
ӝng
Ngày nay, vӟi sӵphát triӇ
n cӫ
a các thiӃ
t bӏGLÿ
ӝ
ng, sӭc mҥ
QKÿ
ӗhӑa cӫa các ӭng

QJWUrQGLÿ
ӝng ngày mӝt phát triӇ
n.

Ngay tӯthӡL Nuÿ
ҫ
u tiên, khi mà các thiӃ

t bӏGLÿ
ӝng còn sӱdөng màn hình trҳ
ng
ÿHQWKuFiF
ӭng dө
QJÿ
ӗhӑ
DFKRÿL
Ӌ
n thoҥ
LFNJQJÿmE
ҳ
Wÿ
ҫ
Xÿѭ
ӧFÿ
ҫ
XWѭSKiWW
Ӈ
n,
tӯmө
FÿtFKEDQÿ
ҫ
u là tҥ
RUDFiFWUzFKѫLJL
ҧ
LWUtÿѫQJL
ҧ
QQKѭ6QDNHWUr
GLÿ

ӝ
ng cӫa Nokia.

n dҫ
n vӅsau, khi công nghӋWKD\ÿ
әi, chҩ
WOѭ
ӧQJPjQKuQKÿL
Ӌ
n thoҥ
i ngày mӝt

i tiӃ
QOƭQKY
ӵFÿ
ӗhӑ
DGLÿ
ӝng lҥ
i trӛi dұ
y vӟi các ӭng dөng game có chҩ
WOѭ
ӧng
FDRKѫQErQF
ҥ
QKÿyÿ
ӗhӑDFNJQJJySSK
ҫ
QÿHPO
ҥ
i sӵbóng bҭ

y, hiӋ
Qÿ
ҥ
i cho các

n phҭ
PGLÿ
ӝQJKѫQ

*DPHGLÿ
ӝng vào thӡi kì màn hình trҳ
QJÿHQ
QăP

Các game 2D J2ME vào thӡLNuQăP

9


9jRQăPJDPH'E
ҳ
tÿ
ҫ
u xuҩ
t hiӋ
n mһ
c dù chҩ
WOѭ
ӧng không cao


1ăPJDPHGLÿ
ӝng vү
QFKѭDFyV
ӵÿ
ӝt phá ngồi viӋ
Fÿ
ӝphân giҧ
i màn hình
ÿѭ
ӧFWăQJFDRKѫQJL~SKL
Ӈ
n thӏhình ҧ
nh chi tiӃ
WKѫQ

1ăPL3KRQHE
ҳ
Wÿ
ҫ
u xuҩ
t hiӋ
QNpRWKHRÿyOjV
ӭc mҥ
nh vӅÿӗhӑDÿѭ
ӧc nâng
cao, chҩ
WOѭ
ӧng màn hình cҧ
m ӭQJÿ
ӝ

WSKiÿHPO
ҥ
i sӵWKD\ÿ
ә
i rõ rӋ
t cho bӝmһ
t nӅ
n
JDPHGLÿ
ӝng.
10


Angry Birds, sҧ
n phҭ
Pÿ
ҫ
u tiên trên thӃgiӟi mӣmàn cho kӍnguyên mӟi trong kinh
doanh ӭng dөQJӝ
GL
ng. Rovio
ÿ ±hãng sҧ
n xuҩ
t Angry Birds là mӝt minh chӭng
cho viӋ
c mӝt công ty nhӓÿѭ
ӧc thành lұ
p chӍtӯÿ
Ӄ
QQJѭ

ӡi có thӇnhanh chóng
kiӃ
Pÿѭ
ӧc hàng triӋ
Xÿ{ODYjWU
ӣthành mӝt tұ
SÿRjQO
ӟn chӍsau mӝWÿrP0
ӣra
mӝt thӡLNuQJѭ
ӡLQJѭ
ӡi, nhà nhà ôm giҩ
FPѫWUL
Ӌ
u phú tӯkinh doanh ӭng dөng di
ÿ
ӝ
ng.

Sӭc mҥ
QK
ӗhӑ
ÿa cӫ
a các thiӃ
t bӏÿL
ӝ
QJ
G QJj\
ӧc FjQJ


i thiӋ
Q
ÿѭ
Yj YjR
2011, Infinity Blade 2 là mӝt trong sӕrҩ
t nhiӅ
u game mang chҩ
WOѭ
ӧQJÿ
ӗhӑa cӫa
FiFJDPHWUrQPi\WtQKÿ
Ӄ
QÿL
Ӌ
n thoҥ
LGLÿ
ӝng.

11


3. Khái niӋ
PFѫE
ҧn vӅ3D

ĈӇbҳ
Wÿ
ҫ
u tìm hiӇ
u vӅlұ

p trình 3D trên máy tính lү
n trên thiӃ
t bӏÿLÿ
ӝ
ng, chúng ta

n nҳ
m rõ các khái niӋ
Pÿ
ӗhӑDFѫE
ҧ
n trong lұ
SWUuQK'ÿk\Oj
ӳng kiӃ
n thӭc

n tҧ
QJÿ
Ӈcó thӇtiӃ
SWKXÿѭ
ӧc nhӳng kiӃ
n thӭc chun mơn vӅsau.
3.1. HӋtӑ
Dÿ
ӝ3 chiӅ
u

Mӝt HӋtӑ
Dÿ
ӝDescartes [iFÿ

ӏ
nh vӏtrí cӫ
a mӝWÿL
Ӈ
m (point) trên mӝt mһ
t phҷ
ng
SODQH
FKRWUѭ
ӟc bҵ
ng mӝt cһ
p sӕtӑDÿ
ӝ [\
7URQJÿy[Y
ӏÿѭ
ӧc
[iF
ӏ
nh bӣ
ÿL 
ӡng ÿѭ
thҷ
QJ Fy
ӟng vng
Kѭ góc vӟL QKDX FQJ
ӏÿR
ÿѫQ

ÿѭ
ӡng thҷ

QJÿyJ
ӑi là trөc tӑDÿ
ӝ(coordinate axis) (hoһ
FÿѫQJL
ҧ
n là trө
c); trөc

m ngang gӑ
i là trөc hoành, trө
Fÿ
ӭng gӑi là trө
FWXQJÿL
Ӈ
m giao nhau cӫ
a2
ÿѭ
ӡng gӑi là gӕ
c tӑ
Dÿ
ӝ(origin) và nó có giá trӏlà (0, 0).

HӋtӑD
ӝÿ
Qj\ Oj
ӣng cӫ
ê
a nhà

toán hӑc và triӃ

t hӑF QJѭ
ӡi Pháp René
Descartes thӇhiӋ
QYjRQăPWURQJKDLEjLY
Ӄ
t cӫa ông. Trong phҫ
n hai cӫ
a
EjL3KѭѫQJSKiSOX
ұ
n (Descartes) (tiӃ
ng Pháp: Discours de la méthode, tӵa Pour
ELHQFRQGXLUHVDUDLVRQHWFKHUFKHU
ӟi thiӋ
u
êӣ

ng mӟi vӅviӋ
F [iF
ӏ
nh vӏtrí
ÿcӫa mӝW
Ӈ
m
ÿL
hay vұ
t thӇtrên mӝt bӅmһ
t

ng cách dùng hai trөFJLDRQKDXÿ

ӇÿR&zQWURQJEjL/D*
triӇ
QVkXKѫQNKiLQL
Ӌ
m trên.
'HVFDUWHVOjQJѭ
ӡLÿmFyF{QJK
ӧp nhҩ
Wÿ
ҥ
i sӕvà hình hӑc Euclide. Cơng trình
này cӫ
a ơng có ҧ
QK
ӣQJ
KѭӃ
nÿ
sӵphát triӇ
n cӫ
a ngành hình hӑc giҧ
i tích, tích
phân, và khoa hӑ
c bҧ
Qÿ
ӗ
.
1JRjLӣ
UD
ng vӅhӋê
tӑD


ӝÿ
có thӇÿѭ
ӧc mӣrӝng ra không gian ba chiӅ
u
(three-dimensional space) bҵ
ng cách sӱdөng 3 tӑDÿ
ӝDescartes (nói cách khác
là thêm mӝ
t trө
c tӑ
Dÿ
ӝvào mӝ
t hӋtӑ
Dÿ
ӝDescartes). Mӝt cách tә
ng quát, mӝ
t hӋ
tӑD
ӝÿ
n-chiӅ
u có thӇÿ
ѭӧc xây dӵng bҵ
ng cách sӱdөng n tӑD
ӝÿ
Descartes
WѭѫQJÿѭѫQJY
ӟi n-trөc).

12



HӋtӑ
Dÿ
ӝtrên mһt phҷ
ng 2 chiӅ
u (2D)

Là 2 trөFYX{QJJyF[
2[Yj\
2\PjWUrQÿ
chӑQYHFWѫÿѫQY
ӏi, j sao cho
ÿӝdài cӫ
a 2 véc-WѫQj\E
ҵ
ng nhau.

HӋtӑ
Dÿ
ӝtrên không gian 3 chiӅ
u (3D)

Là 3 trө
c vng góc nhau tӯQJÿ{LP
ӝW[
2[\
2\]
2]Pj
ӑn 3

véc-WѫÿѫQY
ӏLMNVDRFKRÿ
ӝdài cӫa 3 véc-WѫQj\E
ҵ
ng nhau.

TronJÿ
ӗhӑDPi\WtQKYjGLÿ
ӝng, tӗn tҥ
i 2 loҥ
i hӋtӑDÿ
ӝkhông gian 3 chiӅ
u. HӋ
tӑDÿ
ӝtay phҧ
i và tay trái. HӋtӑDÿ
ӝtay phҧ
i (right handed coordinate system)
ÿѭ
ӧc sӱdөng trong OpenGL và hӋtӑDÿ
ӝtay trái (left handed coordinate system)
ÿѭ
ӧc sӱdө
ng trong DirectX.

13


HӋtӑ
Dÿ

ӝ3 chiӅ
u trong OpenGL
Trong OpenGL thì mӝWÿL
Ӈ
PWURQJNK{QJJLDQ'ÿѭ
ӧFÿ
һ
t trong mӝ
t vùng có
giӟi hҥ
n giá trӏtӑ
Dÿ
ӝtӯÿ
Ӄ
QQKѭWURQJKuQKErQGѭ
ӟi, gӑi là NDC (Normal
Device Coordination).

1'&ÿѭ
ӧc tәchӭc theo hӋtӑDÿ
ӝtay trái và có giӟi hҥ
n tӯÿL
Ӈ
m (-1, -1, -
ÿ
Ӄ
n
(1, 1, 1). Tâm O (0, 0, 0) nҵ
m ӣgiӳa NDC.


t cҧnhӳQJÿL
Ӈ
m nҵ
m ngồi phҥ
PYL1'&ÿ
Ӆ
XNK{QJÿѭ
ӧc hiӇ
n thӏhay xӱlý.
Ví dө:

Ĉk\OjP
ӝWKuQKWDPJLiFÿѭ
ӧFÿ
һ
t trong
NDC vӟi tӑ
Dÿ
ӝÿ
Ӎ
nh ABC lҫ
QOѭ
ӧt là:
A (1, -1, 0)

B (0, 1, 0)

C (-1, -1, 0)



t cӭmӝ
t khӕ
i hình nào, có thӇlà mӝt hình tam giác hoһ
c mӝWÿ
ӕLWѭ
ӧQJÿѭ
ӧc

u thành tӯnhiӅ
XWDPJLiFNKiFQKDXÿ
Ӆ
u có mӝt gӕ
c xoay (pivot point).

c xoay OjÿL
Ӈ
PPjNKLÿ
ӕLWѭ
ӧQJ[RD\WKuQyOX{Qÿ
ӭng yên. Gӕ
c xoay cӫ
a hӋ
không gian 3 chiӅ
XOX{QOjÿL
Ӈ
m (0, 0, 0).

14



+uQKWDPJLiFPjXÿHQFyJ
ӕF[RD\ÿ
һ
t tҥ
i tâm cӫDKuQKWURQJNKL
JLiFPjXÿ
ӓcó gӕ
F[RD\Ojÿ
Ӎ
nh A.
3.2. 9HUWH[ ÿ
Ӎ
nh)
7URQJÿ
ӗhӑ
a máy tính, mӝ
Wÿ
Ӎ
nh (vertex) là mӝWÿL
Ӈ
m trong không gian 3 chiӅ
u
OѭXJL
ӳFiFWK{QJWLQOLrQTXDQÿ
Ӄ
Qÿ
Ӎ
QKÿy
&iF WK{QJ
ӧF OѭX

WLQ
ӳ trongWU
ÿѭ

t
vertex gӗm có:
x
x
x
x

TӑDÿ
ӝ(x, y, z)
Màu sҳ
c
Vӏtrí Texture
«

&iFÿ
Ӎ
nh là các biӃ
n sӕÿѭ
ӧc tҥ
o ra khi lұ
SWUuQKYjOѭXWU
ӳtrong RAM và trong
quá trình vӁ
, các giá trӏnày sӁÿѭ
ӧc truyӅ
n tӯ5$0ÿ

Ӄ
n GPU. Quá trình truyӅ
n

i này tӕ
n tài ngun rҩ
t nhiӅ
u, vì thӃnên ln ln phҧ
i giӳNtFK
ӟc các
WKѭ
vertex là nhӓnhҩ
t có thӇ
.
3.3. Edge (cҥ
nh)

t cҥ
nh là mӝWÿR
ҥ
n thҷ
ng nӕi liӅ
n 2 vertex vӟi nhau.

15


3.4. 7ULDQJOH4XDG 7DPJLiFYjFiFKu
Triangle
Triangle (tam giác) là mӝt mһ

t phҷ
QJÿѭ
ӧc giӟi hҥ
n
bӣi 3 cҥ
nh (edge) cҩ
u thành tӯÿ
Ӎ
nh (vertex).
Mӝt triangle là mӝt tam giác trong không gian 3
chiӅ
X9jOjKuQKFѫV
ӣcho bҩ
t cӭÿӕ
LWѭ
ӧng 3D nào
khác.
Polygon/Quad
MӝW KuQK ÿD JLiF
ӝ
t mһ
t phҷ
SRO\JRQ

QJ
ӧcÿѭ
Oj P
giӟi hҥ
n bӣi nhiӅ
u cҥ

nh (edge) tҥ
o ra tӯnhiӅ
X
Ӎ
nh
ÿ
(vertex).
Mӝt polygon có 4 cҥ
nh tҥ
o ra tӯÿ
Ӎ
QKWKuÿѭ
ӧc gӑ
i
là mӝt Quad. 1KѭQJ WK{QJ
ӡng, trong OpenGL
WKѭ
thì mӝW4XDGÿѭ
ӧc cҩ
u thành tӯ2 tam giác (triangle),
Fy QJKƭD
ҫ
n có 5 cҥ
Oj
QK


nh) tҥ
oÿ
thành 2 tam

giác kӅQKDXÿ
Ӈtҥ
o ra 1 quad.
3.5. Normal Vector (Vector pháp tuyӃ
n)
Vector normal (vector pháp tuyӃ
n) cӫ
a mӝ
t mһ
t
phҷ
ng là vector vng góc vӟi bӅmһ
t cӫ
a mһ
t
phҷ
QJÿy

Trong OpenGL, vector pháp tuyӃ
Q WKѭ
ӡQJӧcÿѭ
GQJ
Ӈ[iF
ÿӏ
QK
ÿӟng

cӫa mӝt mһ
t phҷ
ng và

WtQKWRiQJyFÿ
ӝphҧ
n chiӃ
XiQKViQJWUR
thuұ
t chiӃ
u sáng (lighting).
Thӭtӵcӫ
DFiFÿ
Ӎ
nh trong mӝt tam giác quyӃ
Wÿ
ӏ
nh

ӟng cӫ
a vector normal cӫ
a mһ
t phҷ
QJÿy
ChӍnhӳng mһ
t phҷ
QJFyYHFWRUQRUPDOKѭ
ӟng vӅ
phía màn hình mӟLÿѭ
ӧc hiӇ
n thӏ
. Các mһ
t phҷ
ng

FyYHFWRUQRUPDOQJѭ
ӧFKѭ
ӟQJPjQKuQKÿ
Ӆ
u bӏҭ
n
ÿL

16


×