intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 2: Các thuật toán đồ họa cơ sở-Ths.Vũ Minh Yến

Chia sẻ: Tạ Mạnh Quyền | Ngày: | Loại File: PDF | Số trang:56

111
lượt xem
16
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hệ tọa độ tay phải: là hệ tọa độ chuẩn biểu diễn trên văn bản toán học. Chiều dương xác định ngược chiều kim đồng hồ khi nhìn từ hướng của trục về gốc.Hệ tọa độ tay trái: Phù hợp cho việc biểu diễn hình ảnh trên máy tính

Chủ đề:
Lưu

Nội dung Text: Chương 2: Các thuật toán đồ họa cơ sở-Ths.Vũ Minh Yến

  1. Chương 2 ho cơ s Các thu t toán to ho Gi ng viên: Ths.Vũ Minh Y n T HTTT- Khoa CNTT
  2. N i dung dung 2.1. Các thu t toán v o n th ng to th ng 2.2. Các thu t toán v ư ng tròn to ng 2.3. Các thu t toán v elip to elip 2.4. Các thu t toán clipping to 2.5. Các thu t toán tô màu to
  3. 2.1. Các thu t toán v o n th ng 2.1. to th ng Bài toán: Input: Cho o n th ng AB: A(xA; yA), B(xB; yB). Output: V o n th ng AB trên màn hình. Gi i quy t bài toán Thu t toán làm tròn s Thu t toán Bresenham
  4. Thu t toán làm tròn s Thu to Phương trình ư ng th ng AB (xA ≠ xB): yB − y A y= ( x − xA ) + y A xB − x A yB − y A t m= xB − x A Khi ó phương trình ư ng th ng AB: y = m( x − x A ) + y A
  5. Thu t toán làm tròn s Thu to y Chia thành 4 trư ng h p: (1) (4) (4) TH1: AB song song v i Oy =1 m TH2: AB song song v i Ox (2) TH3: |m|≤1 (3) TH4: |m|>1 x O (3) m = -1
  6. Thu t toán làm tròn s Thu to y TH1: xA=xB (gi s yA < yB) yB B Bư c 1: x=xA; y=yA; Bư c 2: V i m (x; y); yA A Bư c 3: y=y+1; xA=xB x O Bư c 4: N u y
  7. Thu t toán làm tròn s Thu to TH2: yA=yB (Tương t TH1) y TH2 (Gi s xA< xB) Bư c 1: x=xA; y=yA; B A y =y A B Bư c 2: V i m (x; y); Bư c 3: x=x+1; xA xB O Bư c 4: N u x
  8. Thu t toán làm tròn s Thu to y TH3: |m| ≤ 1 TH3 Bư c 1: N u xA > xB thì: Hoán =1 m i v trí A,B B ( m b o xA < xB) A Bư c 2: x=xA; y=yA; xA xB x Bư c 3: V i m (x; y); O Bư c 4: x=x+1; m = y=Round(m(x-xA)+yA); -1 Bư c 5: N u x≤ xB thì: Bư c 3; Bư c 6: K t thúc;
  9. Thu t toán làm tròn s Thu to y TH4: |m| > 1 tương t TH3 TH4 yB B khi i vai trò x, y. =1 m Bư c 1: N u yA > yB thì: Hoán yA i v trí A,B A ( m b o yA < yB) x Bư c 2: x=xA; y=yA; O Bư c 3: V i m (x; y); m Bư c 4: y=y+1; = -1 x=Round(1/m(y-yA)+xA); Bư c 5: N u y≤ yB thì: Bư c 2; Bư c 6: K t thúc;
  10. Thu t toán Breseham Thu to x O TH1 xA=xB, TH2: yA=yB: gi ng phương pháp (3) làm tròn s . Còn l i: chia làm 4 (4) trư ng h p (5) TH3: 0 < m ≤ 1 (6) TH4: -1 ≤ m 1 =1 TH6: m < -1 y
  11. Thu t toán Breseham Thu to TH3: 0 < m ≤ 1 TH3 x O(0,0) xi xi+1=xi+1 yi d1 d2 yi+1= ? y
  12. Thu t toán Breseham Thu to Cơ s toán h c xây d ng thu t toán: to xây ng to Gi s ta có i m th i: (xi; yi) Xác nh i m th i+1: (xi+1; yi+1)=? Ta có: 0< m ≤ 1 Ta ⇒ N u ∆x=1⇒ ∆y≤1, trong ó ∆x=xi+1-xi; ∆y=yi+1-yi Như v y: xi+1= xi+1 0 α ≤ 45 yi+1= yi n u d1 ≤ d2 yi+1= yi+1 n u d1>d2
  13. Thu t toán Breseham Thu to Xét d1= y(xi+1) - yi ⇔ d1=m(xi+1-xA)+yA-yi =m(xi+1-xA)+yA-yi =mxi-yi+m(1-xA)+yA Xét d2= yi+1 - y(xi+1) = yi+1- m(xi+1-xA)-yA =-mxi+yi-m(1-xA)-yA+1 Xét Pi=dx(d1-d2) = dx(2mxi-2yi+2m(1-xA)+2yA-1) = 2dy.xi-2dx.yi+ 2dy(1-xA)+2dx.yA-dx
  14. Thu t toán Breseham Thu to Tương t ta có Pi+1= 2dy.xi+1-2dx.yi+1+ 2dy(1-xA)+2dy.yA-dx Xét ∆P=Pi+1-Pi =2dy(xi+1-xi) – 2dx(yi+1-yi) =2dy-2dx(yi+1-yi) Gi s Pi≥0 ⇔ d1-d2 ≥ 0 ⇔ d1 ≥ d2 ⇔ yi+1=yi+1 ⇒ ∆P=2dy-2dx=const1 Gi s Pi
  15. Thu t toán Breseham Thu to Xét P1= 2dy.x1-2dx.y1+ 2dy(1-xA)+2dx.yA-dx = 2dy.xA-2dx.yA+2dy-2dy.xA+2dx.yA-dx = 2dy-dx=const 2dy
  16. Thu t toán Bresenham Thu to Thu t toán: Thu to Bư c 1: N u xA>xB thì: Hoán i A, B Bư c 2: dx=xB-xA; dy=yB-yA; const1=2dy-2dx; const2=2dy; p=2dy-dx; x=xA; y=yA; Bư c 3: V i m (x,y) Bư c 4: x=x+1; Bư c 5: N u p>0 thì: y=y+1; p=p+const1; còn l i: p=p+const2; Bư c 6: N u x ≤ xB thì: Bư c 3; Bư c 7: K t thúc
  17. Thu t toán Breseham Thu to TH4: -1 ≤ m 0 thì: p=p+const2; Còn l i: y=y-1; p=p+const1;
  18. Thu t toán Breseham Thu to x O TH5: m > 1 i vai trò x, y cho nhau ta có TH3. TH6: m < -1 (5) (6) i vai trò x, y cho nhau ta có TH4. y
  19. 2.2. Các thu t toán v ư ng tròn 2.2. to ng y Xét ư ng tròn tâm O(0;0), bán kính r. M y Phương trình i s : r α x2+y2=r2 x O x Phương trình lư ng giác:  x = r cos α  V i α ∈ [0;2π ]  y = r sin α y M1(x1;y1) Xét ư ng tròn tâm A(xA; yA), A yA bán kính r: M(x;y) (A;r) là nh c a (O;r) qua phép O t nh ti n OA xA x  x1 = x + x A Ta có:   y1 = y + y A
  20. 2.2. Các thu t toán v ư ng tròn 2.2. to ng Tính ch t i x ng: Xét i m M1(x,y)∈(O;r) , khi ó: y M1 M8 M2(y,x) M3(y,-x) M2 M7 M4(x,-y) O M5(-x,-y) x M3 M6(-y,-x) M6 M7(-y,x) M5 M4 M8(-x,y)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2