Bài giảng Đồ họa máy tính: Vẽ đường thẳng và đường tròn bo gồm các kiến thức về hướng tới một đường thẳng lý tưởng, đường thẳng đơn giản, thuật toán Bresenham, quan sát các đường thẳng, kiểm tra một điểm nằm ở phía nào của đường thẳng, . Mời các bạn cùng tham khảo. | Đồ họa máy tính Vẽ đường thẳng và đường tròn 1 2 17 17 Ma Thị Châu - Bộ môn KHMT Hướng tới một đường thẳng lý tưởng l Chúng ta chỉ có thể vẽ xấp xỉ đường thẳng một cách rời rạc l Chiếu sáng các điểm gần nhất với đường thẳng thực tế trong trường hợp chỉ có hai cách thể hiện một điểm Điểm được thắp sáng hoặc không thắp sáng 2 2 17 17 Ma Thị Châu - Bộ môn KHMT Thế nào là một đường thẳng lý tưởng l Trông phải thẳng và liên tục Trong máy tính chỉ có thể được như vậy với các đường thẳng song song với trục tọa độ hoặc có góc 45o với trục tọa độ l Phải đi qua hai điểm đầu và cuối l Phải có mật độ và cường độ sáng đều Đều trên một đường thẳng và đều trên tất cả các đường thẳng l Thuật toán vẽ phải hiệu quả và có thể thực hiện nhanh 3 2 17 17 Ma Thị Châu - Bộ môn KHMT Đường thẳng đơn giản Dựa trên phương trình đường thẳng y mx b Cách tiếp cận đơn giản tăng x rồi tìm ra y Cần các tính toán số thực 4 2 17 17 Ma Thị Châu - Bộ môn KHMT Thuật toán đó có tốt không Thuật toán có vẻ ổn với những đường thẳng có hệ số góc nghiêng slope bằng 1 hoặc nhỏ hơn tuy nhiên nó không tốt cho những đường thẳng với hệ số góc nghiêng lớn hơn 1 các đường thẳng trông rời rạc phải thêm các điểm vào các cột thì trông mới ổn. Giải pháp - sử dụng phương pháp đối xứng. 5 2 17 17 Ma Thị Châu - Bộ môn KHMT Thay đổi thuật toán cho từng góc phần tám 45 của hệ tọa độ Có thể thay đổi tên của trục tọa độ HOẶC tăng theo trục x nếu dy Thuật toán DDA l DDA Digital Differential Analyser Phân tích vi phân số hóa l Xét đường thẳng theo phương trình tham số theo t Start point - x1 y1 x t x1 t x2 - x1 End point - x2 y2 y t y1 t y2 - y1 7 2 17 17 Ma Thị Châu - Bộ môn KHMT x t x1 t x2 - x1 Thuật toán DDA y t y1 t y2 - y1 l Bắt đầu với t 0 dx xmoi xcu l Tại mỗi bước tăng t một lượng dt dt ymoi ycu dy dt l Chọn giá trị thích hợp cho dt l Sao cho không bỏ mất điểm nào Nghĩa là dx lt 1 và dy Thuật toán DDA line int x1 int y1 int x2 int y2 n - range of t. float x y int dx x2-x1 dy y2-y1 int n max abs dx abs dy float dt n .