Bài giảng đồ họa : Các thuật toán vẽ đường part 3
lượt xem 14
download
Thuật toán MidPoint • Thuật toán MidPoint đưa ra cách chọn yi+1 là yi hay y i + 1 bằng cách so sánh điểm thực Q (x i + 1, y ) với điểm MidPoint là trung điểm của S và P. Ta có : ♦ Nếu điểm Q nằm dưới điểm MidPoint, ta chọn S. ♦ Nếu điểm Q nằm trên điểm MidPoint ta chọn P.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng đồ họa : Các thuật toán vẽ đường part 3
- ÑOÀ HOÏA MAÙY TÍNH Thuaät toaùn MidPoint • Thuaät toaùn MidPoint ñöa ra caùch choïn yi+1 laø yi hay y i + 1 baèng caùch so saùnh ñieåm thöïc Q (x i + 1, y ) vôùi ñieåm MidPoint laø trung ñieåm cuûa S vaø P. Ta coù : ♦ Neáu ñieåm Q naèm döôùi ñieåm MidPoint, ta choïn S. ♦ Neáu ñieåm Q naèm treân ñieåm MidPoint ta choïn P. Q(xi+1, y) yi+1 P MidPoint yi S xi xi+1 • Ta coù daïng toång quaùt cuûa phöông trình ñöôøng thaúng : Ax + By + C = 0 vôùi A = y2 − y1 , B = −(x 2 − x1 ), C = x 2 y1 − x1 y2 • Ñaët F (x, y) = Ax + By + C , ta coù nhaän xeùt : < 0, neáu (x, y ) naèm phía treân ñöôøng thaúng F (x, y)= 0, neáu (x, y ) thuoäc veà ñöôøng thaúng > 0, neáu (x, y ) naèm phía döôùi ñöôøng thaúng. Döông Anh Ñöùc, Leâ Ñình Duy Caùc thuaät toaùn veõ ñöôøng 11/22
- ÑOÀ HOÏA MAÙY TÍNH • Luùc naøy vieäc choïn caùc ñieåm S, P ôû treân ñöôïc ñöa veà 1 pi = 2 F (MidPoint ) = 2 F xi + 1, yi + . vieäc xeùt daáu cuûa 2 ♦ Neáu pi < 0 , ñieåm MidPoint naèm phía treân ñoaïn thaúng. Luùc naøy ñieåm thöïc Q naèm döôùi ñieåm MidPoint neân ta y i +1 = y i . choïn S, töùc laø ♦ Ngöôïc laïi, neáu pi ≥ 0 , ñieåm MidPoint naèm phía döôùi ñoaïn thaúng. Luùc naøy ñieåm thöïc Q naèm treân ñieåm MidPoint neân ta choïn P, töùc laø yi +1 = yi + 1 . • Maët khaùc : 1 1 pi +1 − pi = 2 F x i +1 + 1, y i +1 + − 2 F x i + 1, y i + 2 2 1 1 ⇔ pi+1 − pi = 2 A(xi+1 + 1) + B yi+1 + + C − 2 A(xi + 1) + B yi + + C 2 2 ⇔ pi+1 − pi = 2 A + 2 B( yi+1 − yi ) = 2 Dy − 2 Dx( yi +1 − yi ) • Nhö vaäy : pi+1 = pi + 2 Dy , neáu pi < 0 do ta choïn yi +1 = yi . ♦ pi ≥ 0 pi +1 = pi + 2 Dy − 2 Dx , neáu do ta choïn ♦ y i +1 = y i + 1 . • Ta tính giaù trò p0 öùng vôùi ñieåm ban ñaàu (x 0 , y0 ) , vôùi nhaän xeùt raèng (x 0 , y0 ) laø ñieåm thuoäc veà ñoaïn thaúng, töùc laø coù : Ax0 + By0 + C = 0 1 1 p0 = 2 F x 0 + 1, y0 + = 2 A(x 0 + 1) + B y0 + + C 2 2 ⇒ p0 = 2( Ax0 + By0 + C ) + 2 A + B = 2 A + B = 2 Dy − Dx Döông Anh Ñöùc, Leâ Ñình Duy Caùc thuaät toaùn veõ ñöôøng 12/22
- ÑOÀ HOÏA MAÙY TÍNH Caâu hoûi kieåm tra • Xeùt thuaät toaùn Bresenham, vôùi caùch ñaët d1 vaø d2 nhö treân, coù khi naøo d1 hay d2 aâm hay khoâng ? Cho ví duï minh hoïa. • Taïi sao phaûi so saùnh giaù trò pi vôùi 0 trong caùc thuaät toaùn MidPoint vaø Bresenham, baûn chaát cuûa vieäc so saùnh naøy laø gì ? • Taïi sao phaûi nhaân F(MidPoint) vôùi 2 khi gaùn cho pi theo coâng thöùc pi=2*F(MidPoint) ? Döông Anh Ñöùc, Leâ Ñình Duy Caùc thuaät toaùn veõ ñöôøng 13/22
- ÑOÀ HOÏA MAÙY TÍNH • Caøi ñaët thuaät toaùn cho tröôøng hôïp 0 ≤ m ≤ 1, Dx0 ñaõ caøi ñaët coäng theâm moät soá thay ñoåi sau : ♦ Thay bieåu thöùc x=x+1 baèng x=x-1 vaø y=y+1 baèng y=y-1 vì trong tröôøng hôïp naøy x vaø y ñeàu giaûm daàn. ♦ Nhaän xeùt raèng khi p0 vaø thay ñoåi moät soá ñieåm sau : v Neáu Dx
- ÑOÀ HOÏA MAÙY TÍNH Veõ ñöôøng troøn baèng thuaät toaùn MidPoint • Do tính ñoái xöùng cuûa ñöôøng troøn (C) neân ta chæ caàn veõ cung (C1/8) laø cung 1/8 ñöôøng troøn, sau ñoù laáy ñoái xöùng. Cung (C1/8) ñöôïc moâ taû nhö sau (cung cuûa phaàn toâ xaùm trong hình veõ) : 2 0 ≤ x ≤ R 2 2 2 ≤ y≤R R (-x,y) (x,y) (y,x) (-y,x) R 2 (-y,-x) (y,-x) (-x,-y) (x,-y) • Nhö vaäy neáu coù (x, y) ∈ (C1/8) thì caùc ñieåm : (y, x), (y,- x), (x,-y), (-x,-y), (-y,-x), (-y,x), (-x,y) seõ thuoäc (C). Döông Anh Ñöùc, Leâ Ñình Duy Caùc thuaät toaùn veõ ñöôøng 15/22
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Đồ họa máy tính - Ma Thị Châu
22 p | 279 | 28
-
Bài giảng Đồ họa máy tính: Các thuật toán mành hóa - Ma Thị Châu
18 p | 223 | 17
-
Bài giảng Đồ họa máy tính: Phần 1
47 p | 112 | 14
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh
54 p | 110 | 12
-
Bài giảng Đồ họa máy tính: Các phép biến đổi trong đồ họa ba chiều - TS. Đào Nam Anh
28 p | 99 | 11
-
Bài giảng Đồ họa máy tính: Các đối tượng đồ họa cơ sở - TS. Đào Nam Anh
50 p | 100 | 10
-
Bài giảng đồ họa : CÁC PHÉP BIẾN ĐỔI 3 CHIỀU part 2
0 p | 197 | 9
-
Bài giảng Đồ họa máy tính: Phần 2
40 p | 102 | 8
-
Bài giảng Đồ họa máy tính: Giới thiệu về đồ họa máy tính - TS. Đào Nam Anh
50 p | 87 | 7
-
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh (tt)
54 p | 91 | 6
-
Bài giảng Đồ họa máy tính - ĐH Hàng Hải VN
54 p | 40 | 6
-
Bài giảng Đồ họa máy tính: Bài 3 - Lê Tấn Hùng
39 p | 73 | 5
-
Bài giảng Đồ hoạ trên VC6.0(MFC) - Trần Anh Tuấn
11 p | 75 | 3
-
Bài giảng Đồ họa hiện thực ảo: Bài 1 - Lê Tấn Hùng
11 p | 55 | 3
-
Bài giảng Đồ họa hiện thực ảo: Bài 4A - Lê Tấn Hùng
41 p | 58 | 3
-
Bài giảng Đồ họa hiện thực ảo: Bài 4B - Lê Tấn Hùng
27 p | 40 | 3
-
Bài giảng Đồ họa hiện thực ảo: Bài 5 - Lê Tấn Hùng
8 p | 36 | 3
-
Bài giảng Đồ họa hiện thực ảo: Bài 6 - Lê Tấn Hùng
8 p | 38 | 3
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