You are on page 1of 22

O HOA RASTER

CAC THUAT TOAN VE NG THANG

Bai toan ve ng thang


Input (X1, Y1) (X2, Y2) Output {(x1, y1) (x2, y2) (xn, yn)} la nhng iem sang nam tren ng thang

(X2, Y2)

(X1, Y1)

Trang 2

Mot so cong thc c ban cua ng thang

(X2, Y2)
y mx b y b x m m Y2 Y1 y m X 2 X 1 x b Y1 mX 1

(X1, Y1)

Trang 3

Phan loai ng thang


Tang cham Tang nhanh

Giam cham

Giam nhanh

Trang 4

Giai quyet
Thuat toan DDA Thuat toan Bresenham

Trang 5

Thuat toan DDA

Trng hp 1
oan thang tang cham va iem au ben trai. Thuat toan Bc 1 Xac nh iem au tien 1 x1 = X1 y 1 = Y1 Bc 2 Xac nh nhng iem tiep theo Lap xi < X2 xi+1 = xi + 1 y = mxi+1 + b yi+1 = Round(y)

Trang 7

Trng hp 1
Cai tien tnh y Xet hai iem sang lien tiep nhau i i+1 (xi, ycu) (xi+1, ymi)

Cong thc lien he y au la Y1 ymi = ycu + m

Trang 8

Trng hp 2
oan thang tang nhanh va iem au ben di. Thuat toan Bc 1 Xac nh iem au tien x1 = X1 y1 = Y1 Bc 2 Xac nh nhng iem tiep theo Lap yi < Y2 yi+1 = yi + 1 x = yi+1/m b/m xi+1 = Round(x)

Trang 9

Trng hp 2
Cai tien tnh x Xet hai iem sang lien tiep nhau

i
i+1

(xc, yi) (xmi, yi+1)

Cong thc lien he

X 2 X1 k Y2 Y1
x au la X1 xmi = xcu + k

Trang 10

Bai toan m rong


Input (X1, Y1, C1) (X2, Y2, C2)

Output
{(x1, y1, c1) (x2, y2, c2) (xn, yn, cn)} la nhng iem sang nam tren ng thang va co mau khac nhau (X2, Y2, C2)

(X1, Y1, C1)


Trang 11

Thuat toan Bresenham

Trng hp 1
D oan iem sang th i+1

B i A

Trang 13

Trng hp 1
Xay dng bien pi y = m(xi+1) + b d1 = y - yi d2 = y i + 1 - y yi+1 d2 y C B

pi = x(d1 - d2)

d1

yi

i xi

A xi+1

Trang 14

Trng hp 1
Khoang cach d1, d2 hay khoang cach h1, h2 ?

B
d2 C

h2

d1
h1

A
xi+1
Trang 15

Trng hp 1
Cach tnh pi pi = 2yxi 2xyi + 2xY1 2yX1 + 2y x

Trang 16

Trng hp 1
oan thang tang cham va iem au ben trai. Thuat toan Bc 1 Xac nh iem au tien x1 = X1 y1 = Y1 Bc 2 Xac nh nhng iem tiep theo Lap xi < X2 pi = pi < 0 xi+1 = xi + 1 yi+1 = yi pi >= 0 xi+1 = xi + 1 yi+1 = yi + 1

Trang 17

Trng hp 1
Cach tnh pi cai tien p1 = 2y - x pi < 0 : pi+1 = pi + 2y pi >= 0 : pi+1 = pi + 2y - 2x

Trang 18

Trng hp 2
D oan iem sang th i+1

A i

Trang 19

Trng hp 2
Xaydng bien i p yi 1 b x m m d1 x i x pi yd1 d2 d2 x i 1 x

yi+1

A d1

d2

yi

i xi x xi+1

Trang 20

Trng hp 2
Cach tnh pi p1 = 2x - y pi < 0 : pi+1 = pi + 2x pi >= 0 : pi+1 = pi + 2x - 2y

Trang 21

Trng hp 2
Thuat toan Bc 1 Xac nh iem au tien x1 = X1 y 1 = Y1 Bc 2 Xac nh nhng iem tiep theo Lap xi < X2 pi < 0 xi+1 = xi yi+1 = yi + 1 pi >= 0 xi+1 = xi + 1 yi+1 = yi + 1
Trang 22

You might also like