tailieunhanh - Bài giảng Kỹ thuật đồ họa và xử lý ảnh: Bài 3 - Nguyễn Hoài Anh

Bài giảng Kỹ thuật đồ họa và xử lý ảnh: Bài 3 Thuật toán vẽ đường, cung cấp cho người học những kiến thức như: Thuật toán vẽ đường thẳng; thuật toán vẽ đường tròn; thuật toán vẽ Elip. Mời các bạn cùng tham khảo! | Giáo viên phụ trách môn học Nguyễn Hoài Anh Khoa Công nghệ thông tin - HVKTQS Thuật toán vẽ đường thẳng Thuật toán vẽ đường tròn Thuật toán vẽ Elip Ý tưởng Giả sử tọa độ nguyên các điểm sau khi xấp xỉ đối tượng thực lần lượt là xi yi với i 0 . vẽ các điểm này chúng ta sẽ được một đường xấp xỉ của đối tượng cần vẽ. Giả sử đã biết được xi yi là tọa độ nguyên xác định ở bước thứ i điểm nguyên tiếp theo xi 1 yi 1 sẽ được xác định như thế nào Ý tưởng Nhận xét Để đối tượng hiển thị trên lưới nguyên được liền nét các điểm mà xi 1 yi 1 có thể chọn chỉ là một trong tám điểm được đánh số từ 1 đến 8 Giải thích điểm đen chính là xi yi . Nói cách khác xi 1 yi 1 xi -1 yi -1 . Thuật toán Giả thiết 00 Với các đoạn thẳng dạng này nếu xi yi là điểm đã xác định được ở bước thứ i thì điểm cần chọn xi 1 yi 1 ở bước thứ i 1 sẽ là một trong hai trường hợp 1 hoặc 2 Tại bước i 1 ta xác định được xi 1 xi 1 và yi 1 yi hoặc yi 1. Vấn đề còn lại là cách chọn một trong hai điểm trên như thế nào để có thể tối ưu về mặt tốc độ. Thuật toán DDA Digital Differential Analyzer Việc quyết định chọn yi 1 là yi hay yi 1 dựa vào phương trình của đoạn thẳng y mx b Tính y rồi làm tròn số và gán giá trị đó cho yi 1. Như vậy yi 1 Round m xi 1 b Round m xi 1 b Sơ đồ khối thuật toán DDA Cài đặt thuật toán DDA Procedure DDA x1 y1 x2 y2 color integer Var dx dy step integer X_inc y_inc x y real Begin dx x2-x1 dy y2-y1 if abs dx gt abs dy then steps abs dx else steps abs dy x_inc dx steps y_inc dy steps x x1 y y1 putpixel round x round y color for k 1 to steps do begin x x x_inc y y y_inc putpi xel round x round y color end end Thuật toán Bresenham Đưa ra cách chọn yi 1 là yi hay yi 1 theo một hướng khác sao cho có thể tối ưu hóa về mặt tốc độ so với thuật toán DDA. Vấn đề mấu chốt ở đây là làm thế nào để hạn chế tối đa các phép toán trên số thực trong thuật toán. Sơ đồ khối thuật toán Bresenham Cài đặt thuật toán Bresenham Procedure Bres_Line x1 y1 x2 y2 integer Var dx dy x y P const1 const2 integer Begin dx x2-

TỪ KHÓA LIÊN QUAN