ÑOÀ HOÏA RASTER ÑOÀ HOÏA RASTER CAÙC THUAÄT TOAÙN CAÙC THUAÄT TOAÙN VEÕ ÑÖÔØNG THAÚNG VEÕ ÑÖÔØNG THAÚNG Giaûng vieân : Buøi Tieán Leân
ÑOÀ HOÏA RASTERÑOÀ HOÏA RASTER
CAÙC THUAÄT TOAÙNCAÙC THUAÄT TOAÙNVEÕ ÑÖÔØNG THAÚNGVEÕ ÑÖÔØNG THAÚNG
Giaûng vieân : Buøi Tieán Leân
Baøi toaùn veõ ñöôøng thaúngBaøi toaùn veõ ñöôøng thaúngInput
(X1, Y1) (X2, Y2)Output
{(x1, y1) (x2, y2) … (xn, yn)} laø nhöõng ñieåm saùng “naèm treân” ñöôøng thaúng
Trang Trang 22
(X1, Y1)
(X2, Y2)
Moät soá coâng thöùc cô baûn cuûa ñöôøng thaúngMoät soá coâng thöùc cô baûn cuûa ñöôøng thaúng
mb
my
x
bmxy
−=
+=
(X2, Y
2)
Trang Trang 33
11
12
12
mXYbxy
XXYY
m
mm
−=
∆
∆=
−
−=
(X1, Y
1)
Phaân loaïi ñöôøng thaúngPhaân loaïi ñöôøng thaúng
Taêng chaäm Taêng nhanh
Trang Trang 44
Giaûm chaäm Giaûm nhanh
Tröôøng hôïp 1Tröôøng hôïp 1Ñoaïn thaúng taêng chaäm vaø ñieåm ñaàu ôû beân traùi.Thuaät toaùn
Böôùc 1 Xaùc ñònh ñieåm ñaàu tieânx1 = X1
y1 = Y1
Böôùc 2 Xaùc ñònh nhöõng ñieåm tieáp theo
1
2 3 n…
Trang Trang 77
Böôùc 2 Xaùc ñònh nhöõng ñieåm tieáp theoLaëp xi < X2
xi+1 = xi + 1y = mxi+1 + byi+1 = Round(y)
2 3 n…
Tröôøng hôïp 1Tröôøng hôïp 1Caûi tieán tính y
Xeùt hai ñieåm saùng lieân tieáp nhau
i
i+1
(xi, ycuõ)
(xi+1, ymôùi)
Trang Trang 88
Coâng thöùc lieân heä
y ñaàu laø Y1ymôùi = ycuõ + m
Tröôøng hôïp 2Tröôøng hôïp 2Ñoaïn thaúng taêng nhanh vaø ñieåm ñaàu ôû beân döôùi.Thuaät toaùn
Böôùc 1 Xaùc ñònh ñieåm ñaàu tieânx1 = X1
y1 = Y1
Böôùc 2 Xaùc ñònh nhöõng ñieåm tieáp theo
Trang Trang 99
Böôùc 2 Xaùc ñònh nhöõng ñieåm tieáp theoLaëp yi < Y2
yi+1 = yi + 1x = yi+1/m – b/mxi+1 = Round(x)
Tröôøng hôïp 2Tröôøng hôïp 2Caûi tieán tính x
Xeùt hai ñieåm saùng lieân tieáp nhau
Coâng thöùc lieân heä
i
i+1
(xc, yi)
(xmôùi, yi+1)
Trang Trang 1010
Coâng thöùc lieân heä
x ñaàu laø X1xmôùi = xcuõ + k
12
12
YYXX
k−
−=
Baøi toaùn môû roängBaøi toaùn môû roängInput
(X1, Y1, C1) (X2, Y2, C2)Output
{(x1, y1, c1) (x2, y2, c2) … (xn, yn, cn)} laø nhöõng ñieåm saùng “naèm treân” ñöôøng thaúng vaø coù maøu khaùc nhau
(X2, Y2, C2)
Trang Trang 1111
(X1, Y1, C1)
(X2, Y2, C2)
Tröôøng hôïp 1Tröôøng hôïp 1Xaây döïng bieán pi
y = m(xi+1) + bd1 = y - yi
d2 = yi + 1 - ypi = ∆x(d1 - d2)
Byi+1
yC
d2
d1
Trang Trang 1414
i A
xi xi+1
yi
Tröôøng hôïp 1Tröôøng hôïp 1Khoaûng caùch d1, d2 hay khoaûng caùch h1, h2 ?
B
C
d2
h2
Trang Trang 1515
A
xi+1
C
d1
h1
Tröôøng hôïp 1Tröôøng hôïp 1Caùch tính pi
pi = 2∆yxi – 2∆xyi + 2∆xY1 – 2∆yX1 + 2∆y – ∆x
Trang Trang 1616
Tröôøng hôïp 1Tröôøng hôïp 1Ñoaïn thaúng taêng chaäm vaø ñieåm ñaàu ôû beân traùi.Thuaät toaùn
Böôùc 1 Xaùc ñònh ñieåm ñaàu tieânx1 = X1
y1 = Y1
Böôùc 2 Xaùc ñònh nhöõng ñieåm tieáp theoLaëp x < X
Trang Trang 1717
Laëp xi < X2
pi = …pi < 0
xi+1 = xi + 1yi+1 = yi
pi >= 0xi+1 = xi + 1yi+1 = yi + 1
Tröôøng hôïp 1Tröôøng hôïp 1Caùch tính pi caûi tieán
p1 = 2∆y - ∆xpi < 0 :
pi+1 = pi + 2∆ypi >= 0 :
p = pi + 2∆y - 2∆x
Trang Trang 1818
pi+1 = pi + 2∆y - 2∆x
Tröôøng hôïp 2Tröôøng hôïp 2
A Byi+1C
d2d1
i2
i1
i
i
x1xd
xxdmb
m1y
x
p bieán döïng Xaây
−+=
−=
−+
=
Trang Trang 2020
i
xi xi+1
yi
x
( )21i
i2
ddyp −∆=
Tröôøng hôïp 2Tröôøng hôïp 2Caùch tính pi
p1 = 2∆x - ∆ypi < 0 :
pi+1 = pi + 2∆xpi >= 0 :
p = pi + 2∆x - 2∆y
Trang Trang 2121
pi+1 = pi + 2∆x - 2∆y