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.
2
Cá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
5
Phương trình đoạn thẳng
6
Thuậ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)
8
Thuật toán Slope-Intercept
9
Thuật toán Slope-Intercept (tt.)
10
Đánh giá, cải 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
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 xứng 8 hướng?
• Một điểm ảnh (x,y) của
đường tròn tâm tại gốc
toạ độ có 3 điểm ảnh đối
xứng qua trục hoành và
trục tung là (-x,y), (x,-y)
và (-x,-y)
• Và 4 đ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 8 lần
23
Chương trình cải tiến
24
Chương trình cải tiến (tt.)
25