You are on page 1of 32

ha my tnh

Cc thut ton ct xn (Clipping)

9/27/2011

Ma Th Chu - B mn KHMT

Khung nhn trong 2D

Trong 2D, th gii c nh ngha l mt mt


phng v hn, trong mt h ta nht nh.
Chng ta cn ly ra mt vng trong mt phng 2D
ny xem, thng c gi l ca s.
Trong thit b hin th ca chng ta, cn phi xc
nh mt vng hin th, thng c gi l
viewport, v s dng h ta ca thit b.

Ct b tt c nhng vt th nm ngoi ca s.
Tnh tin cho khp vi viewport.
Co gin theo h ta ca thit b.

9/27/2011

Ma Th Chu - B mn KHMT

Khung
nhn
trong
2D
250
45

Ca s trong ta th gii.

Viewport trong ta
thit b

250 x 250
im.

9/27/2011

Ma Th Chu - B mn KHMT

Clipping trong 2D.

Cn phi ct nhng i tng c bn theo cc cnh


ca ca s.

v.d. cc on thng

9/27/2011

Ma Th Chu - B mn KHMT

Chp nhn n gin


Hai u mt nm trong ca s chp nhn.

9/27/2011

Ma Th Chu - B mn KHMT

Loi b n gin
Hai u mt nm ngoi v cng pha loi b.

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cohen-Sutherland

Phng php hiu qu chp nhn hoc loi b


nhng on thng khng ct cc cnh ca ca s.
Gn m 4 bit cho mi u mt: c(P) = x3x2x1x0

Bit 1: trn nh ca ca s, y > ymax


Bit 2: pha di y, y < ymin
Bit 3 : bn phi ca cnh phi, x > xmax
Bit 4 : bn tri ca cnh tri, x < xmin
M 4-bit c gi l: Outcode

9/27/2011

Ma Th Chu - B mn KHMT

M Cohen-Sutherland 2D
1001

1000

1010

0001

0000

0010

0101

0100

0110

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cohen-Sutherland


1001

1000

0001

0000

0010

0101

0100

0110

1010

Nu c hai u c m l 0000, chp nhn, nu khng:


Thc hin php AND logic 2 m

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cohen-Sutherland


1001

1010

1000
1000

0001
0000

0001

0010

0000
0000
0101

0100

0110

Thc hin AND logic m ca 2 u mt,


Loi b on thng nu khc khng.

10

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cohen-Sutherland


P
c(P) = x3x2x1x0

0110
Q

11

9/27/2011

Ma Th Chu - B mn KHMT

Giao on thng

12

Cn xc nh giao im ca cc on thng
vi cc cnh ca ca s tin hnh ct cc
on thng.
Chn mt cnh ca s bt k, ct cc on
thng, thc hin li thut ton CohenSutherland

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck

13

S dng phng trnh tham s


ng thng cha on cn x l s ct cc
ng thng cha bin ca ca s u :

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck

S dng phng trnh tham s


ng thng cha on cn x l s ct
cc ng thng cha bin ca ca s
u :

14

Tm tt c cc giao im, kim tra xem n c


nm trn ca s hay khng.
Xem xt vct php tuyn ti mt im.

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck


P(t ) P0 ( P1 P0 )t

PEJ
P1

N j [ P(t ) PEJ ] 0
N j [ P(t ) PEJ ] 0

P0

N j [ P(t ) PEJ ] 0

Cnh Ej

Nj

15

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck


P (t ) P0 ( P1 P0 )t

Du ca mu s l quan trng.

N j [ P (t ) PEJ ] 0

Phi 0 (b qua nhng on song song).

N j [ P0 ( P1 P0 )t PEJ ] 0

Phng trnh tham s gip th hin


hng.

N j [ P0 PEJ ] N j [ P1 P0 ]t 0 Mu s < 0 im vo khu vc ca s.


Mu s > 0 im ra khi khu vc ca
s.

D ( P1 P0 ), tnh t
t

16

N j [ P0 PEJ ]
Nj D
9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck

Nj

N j [ P0 PEJ ]

Edge Ej

Nj D

Mu s < 0 im vo khu vc ca s, xp vo loi PE.


Mu s > 0 im ra khi khu vc ca s, xp vo loi PL.

17

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck


Sp xp cc im PE v PL theo t.
t

PL < PE khng
c giao im
t

PE
PL

PL
PE

V t PE PL

18

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck


PL

P1

PL

PE
PE
P0

19

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Cyrus & Beck


X

Hi {Q | Ni (Q Qi ) 0}.

Hi
i 1

L song song Li:

L nm trong Hi: Ii = (-, +)


L nm ngoi Hi: Ii =

P1

L khng song song Li:

i vo: Ii = [ti, +
i ra: Ii = (-,

t I0=[0,1]
P0
k

I Ii
20

i 0

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Liang - Barsky


Phng trnh tham s ca ng thng ni (x1,y1) v (x2,y2)

x x1 t * x

y y1 t * y
Vi

x x 2 x1
y y 2 y1

21

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Liang - Barsky


im P thuc v ca s W khi v ch khi:

xmin x1 xt xmax
ymin y1 yt ymax
hay

Vi

xt x1 xmin
xt xmax x1
yt y1 ymin

x x 2 x1
y y 2 y1

yt ymax y1
22

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Liang - Barsky


xt x1 xmin
xt xmax x1
yt y1 ymin
yt ymax y1
t cc bin ph ci, qi

c1t q1 c3t q3
c2 t q2 c4 t q4

23

9/27/2011

tk qk / ck
Ma Th Chu - B mn KHMT

Thut ton Liang - Barsky


tk qk / ck

(1) ck > 0, t L i t pha trong ra pha ngoi ca ng bin Bk khi t tng,


v chng ta gi tk l im ra.
(2) ck < 0, t L i t pha ngoi vo pha trong ca ng bin Bk khi t tng
v ta gi tk l im vo.
(3) ck = 0, t L song song vi Bk, v ngoi ca s nu qk < 0

24

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Liang - Barsky


Loi b on thng nu:
- Mt gi tr vo (t ng vi im vo) >1
- Hoc gi tr ra (t ng vi im ra) <0
- Hoc mt gi tr vo > hn gi tr ra
Nu khng on thng s giao vi ca s.
on giao ch khi t0>0 v t1<1
- t0=max(0,max(cc gi tr vo tk)
- t1=min(1,min(cc gi tr ra tk))

PL
PL

PE
PE
P0

25

9/27/2011

Ma Th Chu - B mn KHMT

P1

Thut ton Liang - Barsky


Ci t cc thut ton ct xn on thng
- Cohen Sutherland
- Cyrus - Beck
- Liang Barsky

26

9/27/2011

Ma Th Chu - B mn KHMT

Clipping a gic

27

Ct a gic bng cch ln lt s dng cc


cnh ca ca s ct a gic.

9/27/2011

Ma Th Chu - B mn KHMT

Thut ton Sutherland-Hodgman


Bn trng hp ct a gic:
Trong Ngoi

Trong Ngoi

Trong Ngoi

Trong Ngoi

im kt qu
th 1
Kt qu

Kt qu
Trng hp 1

28

im kt qu
th 2

Trng hp 2.

9/27/2011

Trng
Trng hp 4
hp 3
Khng
c im Ma Th Chu - B mn KHMT

Thut ton Sutherland-Hodgman

i vng quanh cc im ca a gic, kim tra


vi cnh ang dng ct ca ca s.
Chy thut ton li vi a gic mi va c
to ra vi cnh tip theo ca ca s
Khng cn lu tr nhiu

29

D dng ci t.

9/27/2011

Ma Th Chu - B mn KHMT

Clipping 3D

S dng thut ton Cohen-Sutherland

30

M 6-bit.
Chp nhn n gin khi c m ca c hai u
mt l 0.
Thc hin php AND logic, loi b nu khc 0.
Tm phn giao vi mt mt phng ca khi nhn
v thm hai on thng mi vo x l li.

9/27/2011

Ma Th Chu - B mn KHMT

Clipping a gic 3D

31

M rng thut ton Sutherland-Hodgman


cho 3 chiu.
Ct 6 ln thay v 4 ln

9/27/2011

Ma Th Chu - B mn KHMT

Tho lun bui sau


03 sinh vin
Cc php bin i

32

9/27/2011

Ma Th Chu - B mn KHMT

You might also like