Computer Graphic
NGUYỄN ĐÌNH CƯỜNG
KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC NHA TRANG
Email:[email protected]
Điểm
Trong các hệ thống đồ họa, một điểim được biểu thị bởi
các tọa độ bằng số
Ví dụ: Trong mặt phẳng một điểm là một cặp (x,y)
Trong không gian 3 chiều, một điểm là bộ ba (x,y,z)
Trên màn hình máy tính, một điểm là một vị trí trong vùng
nhớ màn hình dùng để lưu trữ thông tin về độ sáng của
điểm tương ứng trên màn hình
Các biểu diễn tọa độ
Đoạn thẳng
Trong hệ thống đồ họa, các đoạn thẳng được biểu thị bởi việc “tô” đoạn thẳng
bắt đầu từ đầu mút này kéo dài cho đến khi gặp điểm đầu mút kia
Vẽ đoạn thẳng
Bài toán: Vẽ đoạn thẳng đi qua 2 điểm A(x1, y1) và B(x2,
y2)
Trường hợp x1=x2 hoặc y1=y2: rất đơn giản
Trường hợp đường thẳng có hệ số góc m:
Ý tưởng
Vì các pixel được vẽ ở các vị trí nguyên nên đường thẳng được vẽ
giống như hình bậc thang (do làm tròn)
Vấn đề đặt ra là chọn các tọa độ nguyên gần vơí đường thẳng nhất
Thuật toán sinh đoạn thẳng
Thuật toán làm tròn
the pixel at (xi, round(yi ))
Round (yi)=Floor(0.5+yi)
Thuật toán sinh đoạn thẳng
00
S hay P ?
P
yi+1
b
+
x
y=m
y=m(xi+1)+b
S
xi
DDA = Digital Differential Analyser
Bresenham
Midpoint
xi+1
yi
DDA = Digital Differential Analyser
Xét đường thẳng có hệ số góc 01, hoán đổi vai trò x, y cho nhau. Nếu chọn Δy=1, thì
x kế tiếp được tính như sau
Tương tự nếu B nằm bên trái, A nằm bên phải thì
Sơ đồ thuật toán DDA
Trường hợp 0- Xem thêm -