Professional Documents
Culture Documents
2.
CC I TNG HA C S ....................................................................11
2.1.
2.2.
2.3.
2.4.
3.
Mt s khi nim..........................................................................................................12
Quy trnh hin th i tng.........................................................................................13
2.
3.
Mt s nhn xt ............................................................................................................ 22
Thut ton MidPoint.....................................................................................................23
5.
4.
t vn .....................................................................................................................15
tng chung..............................................................................................................15
2.
2.
2.
3.
H ta thun nht.....................................................................................................47
Biu din ma trn ca cc php bin i......................................................................47
Biu din cc php bin i di dng ta thun nht............................................48
4.
nh ngha ....................................................................................................................45
Php tnh tin................................................................................................................45
Php bin i t l ........................................................................................................46
Php quay quanh gc ta .........................................................................................46
CHNG I.
CC KHI NIM C BN
Thun li:
o D dng thay i hnh nh: thay i mu sc, v tr...
o C th thao tc trn tng vng ca nh
Bt li:
o Khng th bin i trn pixel quan st t cc gc nhn khc nhau
o Hiu chnh v thuc tnh hnh hc, kch thc phc tp
b. ha vector
- Cc i tng c xy dng bng m hnh v thuc tnh ca chng.
o M hnh ca i tng chnh l nhng m t ton hc (cc c trng
hnh hc nh to tm, bn knh, ) ca i tng .
o Thuc tnh ca i tng qui nh cch thc i tng c hin th
(mu sc , kiu ng).
-
c im:
o C th bin i trn m hnh gc quan st t cc gc nhn khc
nhau hay hiu chnh v thuc tnh hnh hc ca i tng.
o Ch c th thao tc trn cc thnh phn hnh hc ca i tng.
o Phi chuyn sang ho im khi hin th.
Mt s bt li :
o Cc gi tr RGB ca mt mu l khc nhau i vi cc mn hnh
khc nhau.
o S m t cc mu trong th gii thc i vi khng gian RGB cn
nhiu hn ch bi v khng gian RGB khng hon ton ph hp vi
s cm nhn mu sc ca con ngi. Hai im phn bit trong khng
gian RGB, vi mt ngi c th hoc khng th l th hin ca hai
mu khc nhau.
ii)
Mt s bt li :
o Vic thm vo mt vector khng th thc hin n gin nh khng
gian RGB (ch thm vo cc thnh phn mu). Cc thao tc lng
gic khi bin i s nh hng ng k n tc ca chng trnh.
o Cn phi qua hiu chnh gamma trc khi hin th (ging nh cc
khng gian khc).
iii)
Khng gian HSV c m hnh bng hnh lp phng RGB quay trn nh
Black ca n. H (Hue) l gc quay quanh trc Values, S (Saturation) i t 0
n 1, trc V (Values) do vy tng ng vi ng cho ni nh White v
Black. Cc mu t bo ha khi S=1 v V=1
10
2. CC I TNG HA C S
y
2.1. im
- Mi im c xc nh bi mt cp ta (x, y).
yo
(xo, yo)
xo
(x1, y1)
(x2, y2)
Dy
trong , m = Dx vi Dy = y2 - y1, Dx = x2 - x1; b = y1 - mx1
o Phng trnh tng qut: Ax + By + C = 0
Trong : A = y2 - y1, B = - (x2 - x1), C = x2y1 - x1y2
o Phng trnh tham s:
2.3. Vng t
- Mt vng t bao gm ng bin v vng bn trong. ng bin l mt
ng khp kn v d nh a gic.
-
2.4. K t, chui k t
no .
3. HIN TH CC I TNG HA
3.1. Mt s khi nim
3.1.1. Khi nim
- Ca s (window): l mt vng c chn hin th trong h ta th
gii thc.
- Vng quan st (viewport) l vng c chn trn thit b hin th cc i
tng trong ca s nh x vo.
Thng thng ca s v vng quan st c dng hnh ch nht, c cc cnh song
song vi cc trc ta . Tuy nhin chng cng cn c mt s dng khc nh a gic,
hnh trn,
- Qu trnh nh x mt vng nh ngha trong h ta th gii thc vo mt
vng trong h ta thit b c gi l php bin i h quan st (viewing
transformation).
12
13
14
CHNG II.
CC THUT TON V NG
1. NGUYN L CHUNG
1.1. t vn
Tc l: xi +1 =
m<
m< 11
m
m >> 11
xi +1 = xi + 1
Nh vy:
(0 < m < 1)
yi
y
=
i +1 y + 1
i
16
xi +1 = xi + 1
Nh vy :
, trong y = m( xi + 1) + b
yi
yi +1 = y + 1 = Round ( y )
i
Ci tin:
ytrc = m xi + b
ysau = m xi +1 + b = m( xi +1) + b
ysau = ytrc + m
17
18
d1 = y - yi
d 2 = ( yi + 1) - y
Xt
Nu d1 - d 2 < 0: Chn im S, tc l yi +1 = yi .
Nu d1 - d 2 0: Chn im P, tc l yi +1 = yi + 1.
pi = Dx ( d1 - d 2 )
(do m =
Dy
)
Dx
Suy ra p0 = 2Dy - Dx
Tht vy p0 = 2Dy x0 - 2Dx y0 + c = 2Dy x0 - 2Dx y0 + 2Dy (2b - 1)Dx
im v u tin ( x0 , y0 ) l im nguyn thuc on thng nn thay y0 = m xo
+b=
Dy
xo + b vo biu thc trn ta cng thc cui cng ca p0 .
Dx
Ta c:
pi +1 - pi = (2Dy xi +1 - 2Dx yi +1 + c) - (2Dy xi - 2Dx yi + c)
pi +1 - pi = 2Dy( xi +1 - xi ) - 2Dx( yi +1 - yi )
pi +1 - pi = 2Dy - 2Dx( yi +1 - yi )
(do xi +1 = xi + 1)
T y ta c:
-
Nu pi < 0 : pi +1 = pi + 2Dy v yi +1 = yi .
Nu pi 0 : pi +1 = pi + 2Dy 2Dx v yi +1 = yi + 1.
20
Nu im Q nm di im MidPoint, ta chn S.
Ngc li, nu im Q nm trn im MidPoint ta chn P.
Phng php:
Ta c dng tng qut ca phng trnh ng thng :
Ax + By + C = 0
vi A = y2 - y1 , B = - ( x2 - x1 ), C = x1 y2 - x2 y1
21
t F(x, y) = Ax + By + C ta c nhn xt :
Mt khc :
Vy :
- Nu pi < 0: pi +1 = pi + 2Dy v yi +1 = yi
- Nu pi 0: pi +1 = pi - 2Dx v yi +1 = yi + 1.
Thut ton MidPoint cho kt qu tng t nh thut ton Bresenham.
(C1/8):
Nh vy:
(C) = {(x, y), (y, x), (y,-x), (x,-y), (-x,-y), (-y,-x), (-y,x), (-x,y) | (x, y)(C1/8)}.
- i vi dng (2) ta c th cho chy t 00 n 900, tuy nhin im hn ch
chnh ca thut ton ny l chn bc nhy cho nh th no cho ph hp khi bn
knh thay i (thng ta chn bc nhy l 1/R) .
Phng php:
Chn im bt u v l im (0,R). Da vo hnh v, nu
l im
nguyn tm c bc th i, th im
bc th (i+1) l s la chn
gia S v P.
xi +1 = xi + 1
Nh vy :
yi
y
=
i
+
1
y 1
t F(x, y) = x 2 + y 2 - R 2 , ta c :
23
Xt biu thc:
Mt khc :
Nh vy :
Nu
th
Nu
th
24
25
26
Nu y =
b2
x
. < 1 th ta chn bc tng tng n v theo trc x,
2
y
a
tc l:
xi +1 = xi + 1
yi
yi +1 = y 1
i
b2
x
.
1 th ta chn bc tng tng n v theo trc y.
2
y
a
b2
x
< 1 bng cch i h ta (X, Y)
Trng hp ny c th a v trng hp 2 .
y
a
Nu y =
b2
x
. < 1.
2
y
a
Pi = d 1 - d 2
Ta c kt qu sau:
2b 2
(2 xi + 3) v yi +1 = y i
a2
2b 2
Nu Pi 0 th Pi +1 = Pi + 2 (2 xi + 3) + 4(1 - yi ) v y i +1 = yi - 1
a
2b 2
Thay ta im u tin (0, b), ta c P0 = 2 - 2b + 1.
a
Nu Pi < 0 th Pi +1 = Pi +
27
Ci t minh ha
procedure Ellip(xc, yc, a, b: integer);
var
x, y: integer;
z1, z2, P: real;
{Ve 4 diem doi xung}
procedure Put4Pixel(x: integer, y: integer);
begin
putpixel(xc + x, yc + y, Color);
putpixel(xc + x, yc - y, Color);
putpixel(xc - x, yc - y, Color);
putpixel(xc - x, yc + y, Color);
end;
{Put4Pixel}
begin
x:= 0; y:= b;
z1:= (b*b)/(a*a);
z2:= (a*a)/(b*b);
P:= 2*z1 2*b + 1;
while (z1*(x/y) <= 1) do
begin
Put4Pixel(x, y, color);
If P < 0 then P:= P + 2*z1*(2*x + 3)
Else
begin
P:= P + 2*z1*(2*x + 3) + 4*(1 - y);
y:= y -1
end;
x:= x + 1;
end;
{i vai tr x v y}
x:= a; y:= 0;
P:= 2*z2 2*a + 1;
while (z2*(y/x) < 1) do
begin
Put4Pixel(x, y, color);
If P < 0 then P:= P + 2*z2*(2*x + 3)
Else
begin
P:= P + 2*z2*(2*y + 3) + 4*(1 - x);
x:= x -1
end;
y:= y + 1;
end;
end;
28
29
CHNG III.
CC THUT TON T MU
30
b. Thut ton 2
t T( a , b ) =
Khi :
ax
ay
bx
by
= ax by - a y bx
r
r r
r
a quo tri sang b nu T( a , b ) 0
r
r r
r
a quo phi sang b nu T( a , b ) < 0
r
b
r
a
r
b
r
a
Thut ton:
Input:
n: s nh ca a gic
P0 , P1 , ..., Pn , Pn +1 P0 cc nh ca a gic
Output: a gic l li hay lm?
uuuuur
Bc 1: Tnh vi = Pi +1 Pi vi i = 0, 1, ..., n
Bc 2: Tnh Ti = ( vi , vi +1 ) vi i = 0, 1, ..., n -1
Bc 3: Nu mi Ti u cng du th a gic l li. Ngc li a gic
l lm
31
32
2. CC THUT TON C BN
Mt vng t thng c xc nh bi mt ng khp kn no gi l
ng bin. Mt trong nhng dng ng bin n gin nht l a gic.
t mu mt vng t, ngi ta thng chia lm hai cng on : cng on
th nht l xc nh cc im no t v cng on cn li n gin hn l quyt
nh t cc im bng gi tr mu no. Cng on th hai ch thc s phc tp nu
ta t theo mt mu t no khng phi l t thun mt mu.
thuc a gic
. a gic
ng vi mi dng qut
, vi k thay i t
, lp :
vi cc cnh ca a
ln lt c gii hn bi
34
( xi -1, y i +1)
( xi -1, y i )
( xi -1, y i -1)
( xi , y i +1)
( xi , y i )
( xi , y i -1)
( xi +1, y i +1)
( xi +1, y i )
( xi +1, y i -1)
35
CHNG IV.
CC THUT TON XN NH
1. KHI NIM
Thao tc loi b cc phn hnh nh nm ngoi mt vng cho trc c gi l
xn hnh. Vng c dng xn hnh gi l ca s xn (clip window) hay ca s.
Ty thuc vo tng ng dng c th m ca s xn c th c dng l a gic
hay l ng cong khp kn. Trong phn ny chng ta s kho st cc thut ton xn
hnh vo ca s xn l hnh ch nht.
Nu giao im ng vi gi tr t nm ngoi on
thuc v ca s.
36
th giao im s khng
ca on thng cn xn ln
, ng
LEFT = 1;
RIGHT = 2;
TOP = 4;
BOTTOM = 8;
{0001}
{0010}
{0100}
{1000}
38
39
40
Cc im ng vi
Cc im ng vi
s thuc v on thng
t:
Ta xt cc trng hp :
Nu
v nghim, do h v nghim.
th vi cc bt phng trnh m ng vi
Nu
pk = 0 l cc bt phng trnh hin nhin, lc ny h bt phng trnh cn gii tng
ng vi h bt phng trnh c pk 0.
Vi cc bt phng trnh
Vi cc bt phng trnh
m
Vy nghim ca h bt phng trnh l
, ta c
, ta c
vi :
s l:
.
Hnh IV-5. Xt vi bin tri on thng P1P2 c hng i t ngoi vo trong, nhng so vi bin phi on
thng P1P2 li c hng i t trong ca s i ra
42
43
LiangBarskyClipping := FALSE;
end; {LiangBarskyClipping}
Thng thng, thut ton Liang-Barsky cho tc tt hn thut ton CohenSutherland v rt gn c s giao im cn tnh. Mi ln cp nht cc gi tr
, ch
cn mt php chia, v giao im ca on thng vi ca s ch c tnh duy nht mt
ln sau khi tm ra c gi tr
. Trong khi thut ton Cohen-Sutherland i
lc phi tnh giao im cho cc im khng nm trong bin ca ca s i hi nhiu
php ton hn.
44
CHNG V.
.
Sau y ta ch kho st cc php bin i affine.
46
vi
hay
2.2.2. Php bin i t l
vi
hay
hay
vi
47
hay
vi
hay
vi
hay
vi
3. KT HP CC PHP BIN I
3.1. Kt hp cc php tnh tin
Nu ta thc hin php tnh tin ln
php tnh tin khc ln P, ta c im
kt hp hai php tnh tin lin tip
48
Ta c :
hay :
Vy kt hp hai php tnh tin l mt php tnh tin. T ta c kt hp ca
nhiu php tnh tin cng l mt php tnh tin.
3.2. Kt hp cc php t l
Tng t nh php tnh tin, ta c ta im
v
l :
kt hp hai php t l
l im c c sau khi
Ta c :
hay :
Vy kt hp hai php t l l mt php t l. D dng m rng cho kt qu : kt
hp ca nhiu php t l cng l mt php t l.
49
Ta c :
hay :
Vy kt hp hai php quay quanh gc ta l mt php quay quanh gc ta
. T d dng suy ra kt hp ca nhiu php quay quanh gc ta cng l mt
php quay quanh gc ta .
50
51
52