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

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
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 2: Các thuật toán đồ họa cơ sở-Ths.Vũ Minh Yến
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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;
- 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;
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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;
- 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
- 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
- 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)

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Phân tích và thiết kế giải thuật: Phân tích độ phức tạp của một số giải thuật sắp thự tự và tìm kiếm - Chương 2
0 p |
297 |
106
-
Bài giảng An toàn và bảo mật thông tin: Chương 2 - ThS. Trần Phương Nhung
50 p |
445 |
64
-
Bài giảng Ngôn ngữ lập trình C++: Chương 2 - Trần Minh Châu
38 p |
236 |
58
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 2 - Nguyễn Khánh Phương
131 p |
53 |
23
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương giới thiệu - Nguyễn Khánh Phương
8 p |
84 |
21
-
Bài giảng An toàn thông tin - Chương 2: Mật mã học
39 p |
164 |
15
-
Bài giảng Phân tích thiết kế giải thuật: Chương 2 - Trịnh Huy Hoàng
98 p |
121 |
11
-
Tập bài giảng Thiết kế và đánh giá thuật toán
200 p |
50 |
8
-
Chương 2 – Các kiểu dữ liệu cơ bản Các cấu trúc điều khiển
38 p |
79 |
7
-
Bài giảng Phân tích thiết kế giải thuật và cấu trúc dữ liệu: Phần 1 - ĐH CNTT&TT
56 p |
110 |
7
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trường Đại học Ngoại ngữ - Tin học TP.HCM
42 p |
14 |
7
-
Bài giảng Nhập môn lập trình: Chương 2 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
71 p |
14 |
6
-
Bài giảng Phân tích và thiết kế thuật toán: Bài 2 – Hà Đại Dương
25 p |
52 |
4
-
Bài giảng Đồ họa máy tính: Chương 2 - ThS. Trần Thị Minh Hoàn
39 p |
49 |
4
-
Bài giảng Nhập môn Lập trình: Chương 2
32 p |
42 |
4
-
Bài giảng Thuật toán ứng dụng: Chương 2 - Đỗ Phan Thuận
45 p |
24 |
3
-
Đồ thị và các thuật toán – Chương 2: Các số cơ bản của đồ thị
25 p |
32 |
2


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
