You are on page 1of 4

Bi tp 5

Nm hc 2014 - 2015
Lu : Tt c cc bi tp u phi VIT TAY
CU 1:

Bit rng th tch nhn ca camera c thit lp bng hm:


glOrtho(-1.2, 1.2, -1.2, 1.2, 0.1, 100);
Gi s hm DrawTeapot() v m tr c trng tm trng vi gc ta , vi m nm

trn trc z dng, quai m nm trn trc z m.


Vi mi hnh v di y, hy chn tham s thch hp cho hm gluLookAt(...)
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(.);
DrawTeapot();

Hnh 1

Hnh 2

Hnh 3

Hnh 4
1

Hnh 5

CU 2:
Cho mt camera c v tr mt nhn (view reference point) E = (4, 4, 4), vector n v n
nm trn ng thng x = y = z, vector n v u nm trong mt phng x = z, mt phng chiu
(view plan) vung gc vi ng thng x = y = z v i qua im (8, 8, 8) (xem hnh v).
y

u
E
n

a) Tm ba vector u, v, n ca h ta camera.
b) Tm ma trn V bin i t ta th gii sang ta camera.
c) Tm ma trn M bin i t ta th gii sang ta trn mt phng chiu ca camera. Lu ,
cn phi chia lm hai trng hp : php chiu trc giao v php chiu phi cnh.

CU 3:
2

c trang 271 - 273 trong cun sch Interactive Computer Graphics A Top-Down
Approach Using OpenGL.
Gi s ta dng nhng cu lnh sau thit lp th tch nhn:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2.5, 1.5, -2.3, 2.7, 0.3, 300);

a) Hy tm ma trn chiu (projection matrix) bin i th tch nhn thnh th tch nhn
chun.
b) Hy nu ra 2 cch lm khc (yu cu vit cu lnh), thit lp c th tch nhn
ging nh th tch nhn trn.
CU 4:
c trang 273-276 trong cun sch Interactive Computer Graphics A Top-Down
Approach Using OpenGL.

Gi s ta s dng php chiu xin vi cc gc =1350 , =450. Mt phng gn nm cch


mt nhn 1, mt phng xa nm cch mt nhn 101. Mt phng chiu trng vi mt phng gn.
Th tch nhn l mt hnh hp xin ABCDEFGH, vi mt ABCD nm trn mt phng chiu, vi
cc ta nh sau (trong h ta camera): A = (-2.5, 1.5, -1), B = (1.5, 1.5, -1), C = (1.5, -2.5,
-1), D = (-2.5, -2.5,- 1).
a) Tnh ta cc nh E, F, G, H
b) Tm ma trn bin i th tch nhn ABCDEFGH (hnh hp xin), thnh th th tch nhn
l hnh hp ng
c) Tm ma trn chiu bin i th tch nhn ABCDEFGH (hnh hp xin), thnh th tch
nhn chun.

CU 5:
Cho t din ABCD trong khng gian i tng (Object Space) nh sau:
A (1, 0, 0), B (-1, -1, 1), C (-1, 1, 1), D (-1, 0, -1)
Cc nh ca t din c bin i vo khng gian th gii (World Space) bng cch thc
hin ln lt cc php bin i sau:
3

- Quay quanh trc Z mt gc 90 ngc chiu kim ng h.


- Phng to hai ln theo c 3 trc ta (vi tm ca php bin i l gc ta ): S(2, 2, 2)
- Tnh tin theo trc X : T(2, 0, 0)
S dng hm gluLookAt() thit lp Camera vi tham s nh sau:
gluLookAt(-10, 0, 10, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

Thit lp php chiu phi cnh (Perspective Viewing) bng hm glFrustum() vi cc tham s
nh sau:
glFrustum(-5, 5, -5, 5, 5, 15);
1)
2)
3)
4)
5)

Tnh ma trn Model (Model Matrix) chuyn cc nh t khng gian i tng


vo khng gian th gii
Tnh ma trn View (View Matrix) chuyn cc nh t khng gian th gii vo
khng gian Camera
Tnh ma trn Model-View (Model-View Matrix) chuyn t khng gian i
tng vo khng gian Camera.
Tnh ma trn chiu (Projection Matrix) a cc nh vo khng gian ct
Tnh ta trong khng gian th gii, khng gian Camera v khng gian ct ca
hai nh B v D.

You might also like