DHTM Thuật toán cơ sở

178 747 0
DHTM Thuật toán cơ sở

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ họa máy tính và các thuật toán cơ sở

1BÀI GIẢNGĐỒ HỌA MÁY TÍNHGV: Vũ Đức HuySĐT: 0912316373Bộ môn: HTTT-ĐHCNHNEMail: huyhaui@gmail.comThời lượng:Số tín chỉ: 03Lên lớp: 20TH: 25Bài tập lớn + Bảo vệ: 15 2BÀI GIẢNGĐỒ HỌA MÁY TÍNHCác điểm:Kiểm tra định kỳ: 02Kiểm tra thường xuyên: Không định trướcThi: Kết quả BTLChuyên cần:01 3Tài liệu tham khảo[1] James D.Foley, Andrie van Dam, Steven K.Feiner, Jonhn F. Hughes, Computer Graphics Principles and Practice, Addison Wesley, 1994.[2] Hoàng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân. Giáo trình sở Đồ hoạ Máy tính, NXB Giáo dục, 2000.[3] Lê Tấn Hùng, Huỳnh Quyết Thắng. Kỹ thuật đồ hoạ máy tính, NXB khoa học và kỹ thuật, 2002.[4] Học viện công nghệ bưu chính viễn thông. Kỹ thuật đồ họa (lưu hành nội bộ)[5] Lương Chi Mai. Nhập môn Đồ họa máy tính, NXB Khoa học và kỹ thuật.[6] Steven Harrington, Computer Graphics A Programming Approach, McGraw Hill International Edition, 1987.[7] Gerald Farin, Curves and Surfaces for Computer Aided Geometric Design A Practical Guide, Academic Press Inc, 1990. 4CHƯƠNG 2CÁC THUẬT TOÁN SỞ 52.1. CÁC THUẬT TOÁN VẼ ĐƯỜNG THẲNG 62.1.1. Một số khái niệmĐiểm Điểm là thành phần sở được định nghĩa trong một hệ tọa độ. Đối với hệ tọa độ hai chiều mỗi điểm được xác định bởi cặp tọa độ (x, y).Ngoài thông tin về tọa độ, điểm còn thuộc tính là màu sắc. Thủ tục vẽ một điểm (x,y) với mầu c: Putpixel(x,y,c) 72.1.1. Một số khái niệmĐoạn thẳngBiểu diễn tường minh: y = f(x)Phương trình đoạn thẳng đi qua 2 điểm P (x1,y1) và Q(x2,y2):(y-y1)/( x-x1) = ( y2-y1)/( x2-x1)(y-y1)(x2-x1)=(x-x1)(y2-y1)(x2-x1)y=(y2-y1)x + y1(x2-x1) - x1(y2-y1)y = ((y2-y1)/(x2-x1))x + y1 - ((y2-y1)/(x2-x1))x1y = mx + bm = (y2-y1)/(x2-x1) Độ dốc hay hệ số góc của đườngb = y1- mx1 Đoạn chắn trên trục yΔy = mΔx (tức là khi x thay đổi thì y thay đổi theo) 82.1.1. Một số khái niệmĐoạn thẳngBiểu diễn tường minh: y = f(x) 92.1.1. Một số khái niệmĐoạn thẳngBiểu diễn không tường minh: Ax+By+C=0Ta có(y2-y1)x - (x2-x1)y + (x2-x1)y1 - (y2-y1)x1 = 0(y2-y1)x - (x2-x1)y + x2y1 - x1y2 = 0Tổng quát: Ax + By + C = 0Với:A = (y2-y1)B = -(x2-x1 )C = x2y1 - x1y2 102.1.1. Một số khái niệmĐoạn thẳngBiểu diễn thông qua tham số:P(t) = P1 + t(P2 - P1) t €[0,1]x(t) = x1 + t( x2 - x1 )y (t)= y1 + t(y2 - y1 ) [...]... Giải thuật DDA  Thủ tục 27 2.1.4. Giải thuật Bresenham  Đặt:  d1= RS  d2 = RP R 5 2.1. CÁC THUẬT TOÁN VẼ ĐƯỜNG THẲNG 29 2.1.4. Giải thuật Bresenham  Tính d1: d1 = y (xi+1) -y i d1 = (m(x i+1 )+b)-y i d1 = m(x i +1)+b-y i R 18 2.1.3. Giải thuật DDA  Giả sử vẽ được (x i ,y i )  Tiếp theo, chọn y i+1 là y i hay y i +1 dựa vào phương trình của đường thẳng d . 26 2.1.4. Giải thuật. .. tham số quyết định. Dấu của nó sẽ quyết định lựa chọn điểm tiếp theo. 20 2.1.3. Giải thuật DDA  Lưu đồ thuật toán 24 2.1.4. Giải thuật Bresenham  Cho phương trình đường thẳng d: y = mx+b dx = x 2 -x 1 dy = y 2 -y 1 m = dy/dx b = y 1 - mx 1 46 2.1.5. Giải thuật MidPoint  Sơ đồ khối 22 2.1.3. Giải thuật DDA  Nhận xét:  Cải thiện tốc độ: Sử dụng công thức y i+1 = y i + m thay cho y... (sử dụng cộng số thực, làm tròn). 30 2.1.4. Giải thuật Bresenham  Tính d2:  d2 = y i +1-y( xi+1 )  d2 = y i +1-(m(x i +1)+b)  d2 = y i +1-m(x i +1)-b R 41 2.1.5. Giải thuật MidPoint  Cơ sở toán học: <0 nếu (x,y) nằm phía trên đường thẳng  F(x,y) = 0 nếu (x,y) thuộc đường thẳng >0 nếu (x,y) nằm phía dưới đường thẳng 14 2.1.2. Giải thuật làm tròn  Trường hợp d gần Ox  Gán x=x 1 ;... dyx 1 +dy-dxy 1 -dx1/2+ x 2 y 1 -x 1 y 2 P 1 = y 2 x 1 -y 1 x 1 +dy-x 2 y 1 +x 1 y 1 -dx1/2+ x 2 y 1 -x 1 y 2 P 1 = dy-(1/2)dx Do chỉ xét dấu và để tránh chia hai: P 1 = 2dy-dx 4 CHƯƠNG 2 CÁC THUẬT TOÁN SỞ 35 2.1.4. Giải thuật Bresenham  Tính P 1 : Thay điểm (x 1 ,y 1 ) vào P i P 1 =2dyx 1 – 2dxy 1 + c với c = 2dy + (2b-1)dx b = y 1 - mx 1 m = dy/dx P 1 =2dyx1 – 2dxy1 + 2dy + (2(y 1 - x 1 dy/dx)-1)dx P 1 ... y 1 - m*x 1 ;  Lặp  Putpixel(x,round(y),c);  x = x+1;  y = m*x+b  Tới khi x =x 2 ; 37 2.1.4. Giải thuật Bresenham  Thủ tục 16 2.1.2. Giải thuật làm tròn  Nhận xét:  Thao tác với số thực  Sử dụng phép nhân, chia số thực  Sử dụng hàm làm tròn  Tốn bộ nhớ, chạy chậm 39 2.1.5. Giải thuật MidPoint  Cho hai điểm (x 1 ,y 1 ) và (x 2 ,y 2 )  Phương trình đường thẳng dạng tổng quát: Ax... là R(x i +1,y).  Chỉ thể chọn S(x i +1,y i ) hoặc P(x i +1,y i +1) R 12 2.1.2. Giải thuật làm trịn  Cho phương trình đường thẳng d: y = mx+b m = (y 2 -y 1 )/(x 2 -x 1 ) b = y 1 - mx 1  Trường hợp d//Oy  Gán x=x 1 ; y =y 1 ;  Lặp  Putpixel(x,y,c);  y = y+1;  Tới khi y =y 2 ; 42 2.1.5. Giải thuật MidPoint  Cách thực hiện: Đặt P p = F(M) = F(x p +1,y p +1/2)  Nếu P p < 0 thì... TÍNH Các điểm:  Kiểm tra định kỳ: 02  Kiểm tra thường xuyên: Không định trước  Thi: Kết quả BTL  Chuyên cần:01 25 2.1.4. Giải thuật Bresenham  Khơng mất tính tổng qt, xét 0<m<1  Giả sử vẽ được (x i ,y i )  Vấn đề:  Chọn điểm tiếp theo? R 44 2.1.5. Giải thuật MidPoint  Nếu chọn NE thì trung điểm mới:M new (x p +2,y p +3/2)  P newNE = A(x p +2)+B(y p +3/2)+C  P newNE = A(x p +1)+B(y p +1/2)+C... điểm (x 1 ,y 1 ) và (x 2 ,y 2 )  Phương trình đường thẳng dạng tổng quát: Ax + By + C =0 Với dy = y 2 -y 1 , dx = x 2 -x 1 A = dy B= -dx C= x 2 y 1 -x 1 y 2  Đặt F(x,y) = Ax + By + C 33 2.1.4. Giải thuật Bresenham  Vấn đề: Sau khi chọn điểm P hoặc S. Phải tính được P i+1 .  Tính P i+1 : P i+1 = 2dyx i+1 – 2dxy i+1 + c P i+1 = 2dy(x i +1) – 2dxy i+1 + c  Xét mối liên hệ giữa P i+1 và P i P i+1 -P i ... 45 2.1.5. Giải thuật MidPoint  Tính P 1 : M(x 1 +1,y 1 +1/2) P 1 = A(x 1 +1)+B(y 1 +1/2)+C Thay: A = dy; B = -dx, C= x 2 y 1 -x 1 y 2 dy = y 2 -y 1 ; dx = x 2 -x 1 vào P 1 P 1 = dy(x 1 +1)-dx(y 1 +1/2)+ x 2 y 1 -x 1 y 2 P 1 . 1990. 4CHƯƠNG 2CÁC THUẬT TOÁN CƠ SỞ 52.1. CÁC THUẬT TOÁN VẼ ĐƯỜNG THẲNG 62.1.1. Một số khái niệmĐiểm Điểm là thành phần cơ sở được định nghĩa. Giáo trình cơ sở Đồ hoạ Máy tính, NXB Giáo dục, 2000.[3] Lê Tấn Hùng, Huỳnh Quyết Thắng. Kỹ thuật đồ hoạ máy tính, NXB khoa học và kỹ thuật, 2002.[4]

Ngày đăng: 28/08/2012, 11:09

Hình ảnh liên quan

 Sự hình thành - DHTM Thuật toán cơ sở

h.

ình thành Xem tại trang 50 của tài liệu.
2.5. Thuật toán xén hình (clipping)(clipping) - DHTM Thuật toán cơ sở

2.5..

Thuật toán xén hình (clipping)(clipping) Xem tại trang 111 của tài liệu.
 Biểu diễn một phần hình ảnh của đối tượng - DHTM Thuật toán cơ sở

i.

ểu diễn một phần hình ảnh của đối tượng Xem tại trang 112 của tài liệu.
 Là cửa sổ hình chữ nhật có tọa độ (xmin,ymin,xmax,y max) - DHTM Thuật toán cơ sở

c.

ửa sổ hình chữ nhật có tọa độ (xmin,ymin,xmax,y max) Xem tại trang 113 của tài liệu.
 Tô được miền có hình dạng bất - DHTM Thuật toán cơ sở

c.

miền có hình dạng bất Xem tại trang 146 của tài liệu.
1462.6.2. Thuật toán tô màu loang - DHTM Thuật toán cơ sở

1462.6.2..

Thuật toán tô màu loang Xem tại trang 146 của tài liệu.
 Tìm hình vuông nhỏ nhất ngoại tiếp đường tròn - DHTM Thuật toán cơ sở

m.

hình vuông nhỏ nhất ngoại tiếp đường tròn Xem tại trang 152 của tài liệu.
2.6.4. Tô màu hình thang cơ bản - DHTM Thuật toán cơ sở

2.6.4..

Tô màu hình thang cơ bản Xem tại trang 155 của tài liệu.
2.6.4. Tô màu hình thang cơ bản - DHTM Thuật toán cơ sở

2.6.4..

Tô màu hình thang cơ bản Xem tại trang 156 của tài liệu.
 Tìm hình chữ nhật nhỏ nhất có các cạnh song song với hai trục tọa độ chứa đa giác cần tô dựa  vào hai tọa độ (x min, ymin), (xmax, ymax) - DHTM Thuật toán cơ sở

m.

hình chữ nhật nhỏ nhất có các cạnh song song với hai trục tọa độ chứa đa giác cần tô dựa vào hai tọa độ (x min, ymin), (xmax, ymax) Xem tại trang 158 của tài liệu.
1582.6.5. Tô màu đa giác - DHTM Thuật toán cơ sở

1582.6.5..

Tô màu đa giác Xem tại trang 158 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan