Bài toán vẽ đường thẳngTrang 3... Trang 5Phân loại đường thẳng... Trang 6Giải quyết Thuật toán DDA Thuật toán Bresenham... Thuật toán DDA... Thuật toán Bresenham.
Trang 2Trang 2
Bài toán vẽ đường thẳng
Input
(X1, Y1) (X2, Y2) Output
(X 1 , Y 1 )
(X 2 , Y 2 )
Trang 3Bài toán vẽ đường thẳng
Trang 3
Trang 4Trang 4
Một số công thức cơ bản của đường thẳng
11
12
12
mX Y
y X
X
Y
Y m
m
b m
y x
b mx
Trang 5Trang 5
Phân loại đường thẳng
Trang 6Trang 6
Giải quyết
Thuật toán DDA
Thuật toán Bresenham
Trang 7Thuật toán DDA
Trang 8Thuật toán DDA
Trang 8
Trang 9Lặp xi < X2
xi+1 = xi + 1
y = mxi+1 + b yi+1 = Round(y)
1
Trang 10(xi, ycũ) (xi+1, ymới)
y đầu là Y1
ymới = ycũ + m
Trang 11Lặp yi < Y2
yi+1 = yi + 1
x = yi+1/m – b/m xi+1 = Round(x)
Trang 12(xc, yi) (xmới, yi+1)
x đầu là X1
xmới = xcũ + k
12
1
2
Y Y
X
X k
−
−
=
Trang 13Thuật toán Bresenham
Trang 16Trang 16
Trường hợp 1
Cách tính pi
pi = 2 ∆ yxi – 2 ∆ xyi + 2 ∆ xY1 – 2 ∆ yX1 + 2 ∆ y – ∆ x
Trang 17Lặp xi < X2
pi = …
pi < 0
xi+1 = xi + 1 yi+1 = yi
pi >= 0
xi+1 = xi + 1 yi+1 = yi + 1
Trang 20i
i
d d
y p
x 1 x
d
x x
b m
1
y x
p biến dựng
=
−
=
− +
=
Trang 22Lặp xi < X2
pi < 0
xi+1 = xi yi+1 = yi + 1
pi >= 0
xi+1 = xi + 1 yi+1 = yi + 1