Thông tin tài liệu:
Các thuật toán vẽ các đốitượng đồ hoạ cơ sở như:điểm, đường, đa giác, …,phụ thuộc nhiều vào thiết bịhiển thị.Hầu hết các ứng dụng đồhọa đều sử dụng các côngcụ vẽ này làm nền tảng.Bút trong máy vẽ được dichuyển nhờ một motor bước,nên nó chỉ có thể di chuyểntới những vị trí rời rạc.
Nội dung trích xuất từ tài liệu:
Chương 1: Thuật toán vẽ đoạn thẳng Dẫn nhập• Các thuật toán vẽ các đối tượng đồ hoạ cơ sở như: điểm, đường, đa giác, …, phụ thuộc nhiều vào thiết bị hiển thị• Hầu hết các ứng dụng đồ họa đều sử dụng các công cụ vẽ này làm nền tảng• Bút trong máy vẽ được di chuyển nhờ một motor bước, nên nó chỉ có thể di chuyển tới những vị trí rời rạc. 2Cách biểu diễn tọa độ 3 Vẽ đoạn thẳng• Trong đồ hoạ vector – 1. Di chuyển tới điểm đầu – 2. Bật chùm tia điệntử – 3. Di chuyển tới điểmcuối – 4. Tắt chùm tia điệntử• Trong đồ hoạ Raster-scan, vẽ đường chuyển thành vẽ nối từng điểm ảnh – Chùm điệntử di chuyển theo hướng xác định (trái qua phải, trên xuống dưới) – Vùng đệm màn hình lưutrữ thông tin của điểm ảnh tương ứng (cường độ sáng, màu, …) 4 Yêu cầu• Đoạnthẳng lý tưởng Ideal line Rasterized line• Các điểm ảnh phải càng gần đoạn thẳng lý tưởng càng tốt• Độ dày, độ sáng đều nhau• Các điểm ảnh phải liên tục không ngắt discontinuities (gaps in the line)• Tốc độ vẽ nhanh nhất có thể, vì vẽ đoạn thẳng là thao tác cơ bản trong tất cả các hệ đồ họa 5Phương trình đoạn thẳng 6Thuật toán Slope-Intercept 7 Trường hợp lỗi?• Thuật toán thực hiện lặp theo trục x, nên khi đoạn thẳng có hệ số góc lớn hơn 1 thì các điểm ảnh sẽ trở nên ngắt quãng• Sửa lỗi?• Kiểm tra hệ số góc m. Nếu m > 1 thì thực hiện lặp theo trục y (hoán đổivai trò x với y) 8Thuật toán Slope-Intercept 9Thuật toán Slope-Intercept (tt.) 10Đánh giá, cải tiến? 1112Thuật toán DDA – Digita Differential Analyzer 13 Yêu cầu khác• Tốc độ nhanh hơnnếu không sử dụng các phép toán trên số thực• Các điểm đầu, cuốicủa đoạnthẳng nằm ngoài khung nhìn?• Hạn chế sự lởm chởm răng cưa của đoạn thẳng• Độ dày của đoạn thẳng (>1)?• Kiểu đoạnthẳng? 1415Ý tưởng của thuật toán 16Lưu đồ Thuật toán Bresenham 17Thuật toán Bresenham 18Thuật toán Bresenham (tt.) 1920