Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
0,96 MB
Nội dung
Dẫn nhập • Các thuật toán vẽ đối tượng đồ hoạ 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 ứng dụng đồ họa sử dụng công cụ vẽ làm tảng • Bút máy vẽ di chuyển nhờ motor bước, nên di chuyển tới vị trí rời rạc Cách biểu diễn tọa độ Vẽ đoạn thẳng • Trong đồ hoạ vector – – – – Di chuyển tới điểm đầu Bật chùm tia điệntử Di chuyển tới điểmcuối Tắt chùm tia điệntử • Trong đồ hoạ Raster-scan, vẽ đường chuyển thành vẽ nối điểm ảnh – Chùm điệntử di chuyển theo hướng xác định (trái qua phải, xuống dưới) – Vùng đệm hình lưutrữ thông tin điểm ảnh tương ứng (cường độ sáng, màu, …) Yêu cầu • Đoạnthẳng lý tưởng Ideal line Rasterized line • Các điểm ảnh phải gần đoạn thẳng lý tưởng tốt • Độ dày, độ sáng • Các điểm ảnh phải liên tục không ngắt discontinuities (gaps in the line) • Tốc độ vẽ nhanh có thể, vẽ đoạn thẳng thao tác tất hệ đồ họa Phương trình đoạn thẳng Thuật toán Slope-Intercept Trường hợp lỗi? • Thuật toán thực lặp theo trục x, nên đoạn thẳng có hệ số góc lớn điểm ảnh trở nên ngắt quãng • Sửa lỗi? • Kiểm tra hệ số góc m Nếu m > thực lặp theo trục y (hoán đổivai trò x với y) Thuật toán Slope-Intercept Thuật toán Slope-Intercept (tt.) 10 Thuật toán Bresenham (tt.) 19 20 Một thuật toán đơn giản 21 Kết • Hệ số góc điểm đường tròn thay đổi Khi lớn dẫn tới điểm ảnh đường tròn không liên tục • Các điểm ảnh đường tròn có tính chất đối xứng qua tâm 22 Tính đối xứng đường tròn • Đối xứng hướng? • Một điểm ảnh (x,y) đường tròn tâm gốc toạ độ có điểm ảnh đối xứng qua trục hoành trục tung (-x,y), (x,-y) (-x,-y) • Và điểm đối xứng qua đường phân giác (y,x), (-y,x), (y,-x), (-y,-x) • Tăng tốc độ vẽ gấp lần 23 Chương trình cải tiến 24 Chương trình cải tiến (tt.) 25 Kết • Tốc độ vẽ cải thiện • Loại bỏ không liên tục điểm ảnh đường tròn • Tuy nhiên tốn nhiều thời gian tính toán phép: +,-,*, lấy số thực 26 27 Thuật toán MidPoint vẽ đường tròn 28 Lưu đồ Thuật toán MidPoint 29 Thuật toán vẽ đường tròn MidPoint 30 Thuật toán vẽ đường tròn MidPoint (tt.) 31 circlePoints 32 Ý tưởng vẽ đường cong conic 33 [...]... tiến? 11 12 Thuậ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? 14 15 Ý tưởng của thuật toán 16 Lưu đồ Thuật toán Bresenham 17 Thuật toán Bresenham 18 Thuật toán Bresenham (tt.) 19 ... Tăng tốc độ vẽ gấp 8 lần 23 Chương trình cải tiến 24 Chương trình cải tiến (tt.) 25 Kết quả • Tốc độ vẽ được cải thiện • Loại bỏ được sự không liên tục của các điểm ảnh trên đường tròn • Tuy nhiên vẫn còn tốn nhiều thời gian tính toán các phép: +,-,*, lấy căn trên số thực 26 27 Thuật toán MidPoint vẽ đường tròn 28 Lưu đồ Thuật toán MidPoint 29 Thuật toán vẽ đường tròn MidPoint 30 Thuật toán vẽ đường tròn... thẳng ( >1) ? • Kiểu đoạnthẳng? 14 15 Ý tưởng của thuật toán 16 Lưu đồ Thuật toán Bresenham 17 Thuật toán Bresenham 18 Thuật toán Bresenham (tt.) 19 20 Một thuật toán đơn giản 21 Kết quả • Hệ số góc của các điểm trên đường tròn thay đổi Khi nó lớn hơn 1 sẽ dẫn tới các điểm ảnh trên đường tròn không liên tục • Các điểm ảnh trên đường tròn có tính chất đối xứng qua tâm 22 Tính đối xứng của đường tròn • Đối... các phép: +,-,*, lấy căn trên số thực 26 27 Thuật toán MidPoint vẽ đường tròn 28 Lưu đồ Thuật toán MidPoint 29 Thuật toán vẽ đường tròn MidPoint 30 Thuật toán vẽ đường tròn MidPoint (tt.) 31 circlePoints 32 Ý tưởng vẽ các đường cong conic 33 ... phép toán số thực • Các điểm đầu, cuốicủa đoạnthẳng nằm khung nhìn? • Hạn chế lởm chởm cưa đoạn thẳng • Độ dày đoạn thẳng ( >1) ? • Kiểu đoạnthẳng? 14 15 Ý tưởng thuật toán 16 Lưu đồ Thuật toán. .. thực 26 27 Thuật toán MidPoint vẽ đường tròn 28 Lưu đồ Thuật toán MidPoint 29 Thuật toán vẽ đường tròn MidPoint 30 Thuật toán vẽ đường tròn MidPoint (tt.) 31 circlePoints 32 Ý tưởng vẽ đường cong... line) • Tốc độ vẽ nhanh có thể, vẽ đoạn thẳng thao tác tất hệ đồ họa Phương trình đoạn thẳng Thuật toán Slope-Intercept Trường hợp lỗi? • Thuật toán thực lặp theo trục x, nên đoạn thẳng có hệ số