Giáotrình H aMáyTính 74
tham s ã ư c phát tri n b i Liang và Barsky. Nh n xét r ng hình ch nh t (R) g m t p các i m n m trong m t ph ng gi i h n b i các ư ng th ng qua các c nh gi ih nc anó;t clà:
Phươngtrìnhtham s c a o n AB: P(t):= A + t (B- A)v i t [0, 1]. Như v y bàitoán ưav xác nhcácgiátr thams tth ah cácb tphươngtrìnhsau:
Hayt
ương ương: qi ≤ pit, i=0,1,2,3.Trong ó:
p 0 =dx, q0 =xmin -xA p 1 =-dx, q1 =xA -xmax p 2 =dy, q2 =ymin -yA p 3 = -dy, q3 =yA -yAmax v idx=x B –xA ;dy=yB –yA.
N ut n t i ch s i {0, 1, 2,3}sao cho pi = 0 và qi > 0 thìh b tphương trình trênvônghi m;t clà o nth ng ABgiaov ihìnhnh tb ngr ng.Ngư cl i,ta t:
t
0 :=max{0,max{ |pi >0,i=0,1,2,3}}
t
1 :=min{1,min{ |pi <0,i=0,1,2,3}}. Khi óh b tphươngtrìnhtương ươngv i:t
0≤t≤t
1. i unàych rar ng, i u ki n o nth ngABcógiao i mv ihìnhch nh t(R)làt
0≤t 1:
T ó,tacóthu ttoánsau:
Giáotrình H aMáyTính 75
Bư c2:Kh it oi=0vàt
0=0,t1=1.
Bư c3:N u pi=0và qi>0thìk tlu n ;k tthúcthu ttoán. Bư c4:N up
i>0 tt0 :=max{t0, }.Chuy nsangbư c7. Bư c5:N up
i<0 tt1 :=min{t1, }.Chuy nsangbư c7. Bư c6:N ut
0 >t1thìk tlu n ;k tthúcthu ttoán.
Bư c 7: N u i < 3 thay i = i + 1 và l p l i bư c 3; Ngư c l i, k t lu n ;trong ó: C=A+t 0(B–A) D=A+t 1(B–A) Víd ,xéthìnhch nh t:
vàhai i m A(1, -2)và B(10,9). Tacóphương trìnhthams c a o nth ngABlà: A
+ t(B - A).Tac ngi ih phươngtrình:
Haytương ương:
V y
Suyra,giao i mc a ABvàhìnhch nh tlà o nth ng CD,trong ó:
Thu ttoánLiang vàBarsky gi mb t cáctínhtoánc nthi t c t các o n.M i l n c p nh tt
0và t1ch c n m tphép chia, và cácgiao i mv i c a s ư c tínhch m t l n,khi mà các giá tr t
0 và t1 v a hoàn thành.Ngư c l i, thu t toán c a Cohen- Sutherland l pl ivi ctínhgiao i mc a o nv i cácbiên c as ,và m i phéptính giao i mc nc haiphépchiavànhân.
5.4. Giaoc a o nth ngvà agiácl iVí tr tương i c a m t i m v i o n th ng