TAILIEUCHUNG - Bài giảng Đồ họa máy tính: Thuật toán Bresenham - Vẽ đường thẳng

Bài giảng Đồ họa máy tính: Thuật toán Bresenham - Vẽ đường thẳng có nội dung giới thiệu về thuật toán Bresenham, cài đặt thuật toán, chương trình thuật toán và bài tập. Tham khảo nội dung bài giảng để hiểu rõ hơn về các nội dung trên. | Thuật toán Bresenham vẽ đường thẳng 13 August 2001 Chris Weigle - Comp 136 Xét k Thuật toán Bresenham Giới thiệu: Giả sử đường thẳng được xấp xỉ thành các điểm lần lượt là (xi,yi). Các điểm này có tọa độ nguyên và được hiển thị trên màn hình. Bài toán đặt ra là nếu biết được tọa độ (xi,yi) của bước thứ i, thì điểm ở bước i+1 là (xi+1,yi+1) sẽ được xác định như thế nào. Trong trường hợp hệ số góc 0 Thuật toán Bresenham (tiếp) Phương trình đường thẳng qua 2 điểm (x1, y1) và (x2, y2) là y=kx+m với m=Dy/Dx và m=y1-kx1. Đặt d1=y-yi và d2=(yi+1)-y, do đó việc chọn tọa độ của yi+1 phụ thuộc vào d1 và d2 ( hay dấu của d1 - d2): Nếu d1-d2 Thuật toán Bresenham vẽ đường thẳng 13 August 2001 Chris Weigle - Comp 136 Xét k Thuật toán Bresenham Giới thiệu: Giả sử đường thẳng được xấp xỉ thành các điểm lần lượt là (xi,yi). Các điểm này có tọa độ nguyên và được hiển thị trên màn hình. Bài toán đặt ra là nếu biết được tọa độ (xi,yi) của bước thứ i, thì điểm ở bước i+1 là (xi+1,yi+1) sẽ được xác định như thế nào. Trong trường hợp hệ số góc 0 Thuật toán Bresenham (tiếp) Phương trình đường thẳng qua 2 điểm (x1, y1) và (x2, y2) là y=kx+m với m=Dy/Dx và m=y1-kx1. Đặt d1=y-yi và d2=(yi+1)-y, do đó việc chọn tọa độ của yi+1 phụ thuộc vào d1 và d2 ( hay dấu của d1 - d2): Nếu d1-d2 Thuật toán Bresenham (tiếp) d1 - d2 = (2y – 2yi – 1) là một số thực do chứa k Xét pi = Dx (d1 - d2) = Dx (2y - 2yi - 1) = 2Dy xi - 2Dx yi + C C = 2Dy + (2b - 1)Dx Do dấu của pi và (d1-d2) giống nhau nên khi xét dấu của pi thì ta xác định được yi+1 Mặc khác, pi+1 – pi = (2Dy xi+1 - 2Dx yi+1 + C) - (2Dy xi - 2Dx yi + C) = 2Dy – 2Dx(yi+1 – yi) Từ đây, ta suy ra cách tính pi+1 theo pi: Nếu pi Begin p = 2Dy - Dx; const1=2Dy; const2=2(Dy-Dx); x = x1; y = y1; putpixel(x,y,color); x Cài đặt thuật toán (với Dx>Dy>0) void BresenhamLine(int x1, int y1, int x2, int y2, int color) { int Dx = x2 – x1, Dy = y2 – y1; int x = x1, y = y1; int p = 2 * Dy – Dx; int const1 = 2 * Dy, const2 = 2 * (Dy-Dx); putpixel(x, y, .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.