Professional Documents
Culture Documents
Lecture Raster 1a
Lecture Raster 1a
(X2, Y2)
(X1, Y1)
Trang 2
Một số công thức cơ bản của đường thẳng
(X2, Y2)
y = mx + b
y b
x= −
m m
Y2 − Y1 y
m= =
X 2 − X1 x
b = Y1 − mX 1
(X1, Y1)
Trang 3
Phân loại đoạn thẳng
Tăng chậm Tăng nhanh
Trang 4
Các phương pháp vẽ đường thẳng
Thuật toán DDA
Thuật toán Bresenham
Trang 5
Thuật toán DDA
Trường hợp 1
Đoạn thẳng tăng chậm và điểm đầu nằm bên trái
Thuật toán
Bước 1 Xác định điểm đầu tiên 1
x1 = X1
y1 = Y1
Bước 2 Xác định những điểm tiếp theo 2 3 … n
Lặp xi < X2
xi+1 = xi + 1
y = mxi+1 + b
yi+1 = Round(y)
Trang 7
Trường hợp 1
Cải tiến tính y
Xét hai điểm sáng liên tiếp nhau
i (xi, ycũ)
Trang 8
Trường hợp 2
Đoạn thẳng tăng nhanh và điểm đầu nằm bên dưới
Thuật toán
Bước 1 Xác định điểm đầu tiên
x1 = X1
y1 = Y1
Bước 2 Xác định những điểm tiếp theo
Lặp yi < Y2
yi+1 = yi + 1
x = yi+1/m – b/m
xi+1 = Round(x)
Trang 9
Trường hợp 2
Cải tiến tính x
Xét hai điểm sáng liên tiếp nhau
i (xcũ, yi)
Trang 10
Thuật toán Bresenham
Trường hợp 1
Dự đoán điểm sáng thứ i+1
i A
Trang 12
Trường hợp 1
Xây dựng biến pi
y = m(xi+1) + b yi+1 B
d1 = y - yi d2
d2 = yi + 1 - y y
C
pi = x(d1 - d2) d1
yi i A
xi xi+1
Trang 13
Trường hợp 1
Khoảng cách d1, d2 hay khoảng cách h1, h2 ?
B
h2
d2
d1
h1
A
xi+1
Trang 14
Trường hợp 1
Cách tính pi
Trang 15
Trường hợp 1
Đoạn thẳng tăng chậm và điểm đầu nằm bên trái
Thuật toán
Bước 1 Xác định điểm đầu tiên
x1 = X1
y1 = Y1
Bước 2 Xác định những điểm tiếp theo
Lặp xi < X2
pi = …
pi < 0
xi+1 = xi + 1
yi+1 = yi
pi >= 0
xi+1 = xi + 1
yi+1 = yi + 1
Trang 16
Trường hợp 1
Cách tính pi Cải tiến
p1 = 2y - x
pi < 0 :
pi+1 = pi + 2y
pi >= 0 :
pi+1 = pi + 2y - 2x
Trang 17
Trường hợp 2
Dự đoán điểm sáng thứ i+1
A B
Trang 18
Trường hợp 2
xi x xi+1
Trang 19
Trường hợp 2
Cách tính pi
p1 = 2x - y
pi < 0 :
pi+1 = pi + 2x
pi >= 0 :
pi+1 = pi + 2x - 2y
Trang 20
Trường hợp 2
Đoạn thẳng tăng nhanh và điểm đầu nằm bên dưới
Thuật toán
Bước 1 Xác định điểm đầu tiên
x1 = X1
y1 = Y1
Bước 2 Xác định những điểm tiếp theo
Lặp yi < Y2
pi < 0
xi+1 = xi
yi+1 = yi + 1
pi >= 0
xi+1 = xi + 1
yi+1 = yi + 1
Trang 21