tailieunhanh - Bài giảng Chương 10: Các giải thuật nâng cao
Bài giảng Chương 10: Các giải thuật nâng cao trình bày về Frame buffer và thiết bị hiển thị; truy cập vào frame buffer; giải thuật DD_Line; thuật toán Bresenham; biểu diễn đoạn thẳng trong frame buffer; quy tắc chọn pixel xấp xỉ tốt đoạn thẳng thực và một số nội dung khác. | Chương 10: Các giải thuật nâng cao Scan conversion Scan conversion: quá trình biểu diễn một đối tượng hình học (đoạn thẳng, vòng tròn,.) trong bộ đệm ảnh đơn (frame buffer) của hệ thống đồ họa quét raster. vận hành (drive) the frame buffer thông qua các thủ tục SetPixel( ) GetPixel( ) Frame buffer và thiết bị hiển thị Mô hình chức năng của frame buffer làm tươi ảnh C R x y B Màn hình B=1 (value=0) => (pixel off) black (value=1) => (pixel on) white Truy cập vào frame buffer const {moät ví duï} MaxColumn = 639; {= C - 1} MaxRow = 479; {= R - 1} MaxColor = 255; {= soá caùc maøu - 1} type col = 0MaxColumn; row = 0MaxRow; color = 0MaxColor; procedure SetPixel(c : col, r : row, value : color); {load frame buffer} function GetPixel(c : col, r : row) : color; {read frame buffer} procedure SetPixelWord(c : col, r : row, value : word); function GetPixel(c : col, r : row) : word; 0 MaxColumn 1 2 0 1 2 Mô hình lập trình Mô hình cho frame buffer Các thao tác lên frame buffer. MaxRow Thuật toán vẽ đoạn thẳng Yêu cầu Đi qua 2 điểm đầu mút của đoạn thẳng Độ sáng đồng đều, trơn Đường thẳng có độ dốc khác nhau phải có độ sáng như nhau Giải thuật phải có tính lặp lại (dùng để xóa đường thẳng) Không phụ thuộc vào các chọn điểm bắt đầu vẽ Giải thuật DD_Line Procedure DD_Line(row1,col1,row2,col2,color:integer); {Giaû söû ñoä doác naèm giöõa [-1,1], col1 Scan conversion Scan conversion: quá trình biểu diễn một đối tượng hình học (đoạn thẳng, vòng tròn,.) trong bộ đệm ảnh đơn (frame buffer) của hệ thống đồ họa quét raster. vận hành (drive) the frame buffer thông qua các thủ tục SetPixel( ) GetPixel( ) Frame buffer và thiết bị hiển thị Mô hình chức năng của frame buffer làm tươi ảnh C R x y B Màn hình B=1 (value=0) => (pixel off) black (value=1) => (pixel on) white Truy cập vào frame buffer const {moät ví duï} MaxColumn = 639; {= C - 1} MaxRow = 479; {= R - 1} MaxColor = 255; {= soá caùc maøu - 1} type col = 0MaxColumn; row = 0MaxRow; color = 0MaxColor; procedure SetPixel(c : col, r : row, value : color); {load frame buffer} function GetPixel(c : col, r : row) : color; {read frame buffer} procedure SetPixelWord(c : col, r : row, value : word); function GetPixel(c : col, r : row) : word; 0 MaxColumn 1 2 0 1 2 Mô hình lập trình Mô hình cho frame buffer Các thao tác lên frame buffer. MaxRow .
đang nạp các trang xem trước