... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 9 /22
• Ví dụ : Cho A( 12, 20 ) và B (22 , 27 ),
• Ta có
♦ Dx = 22 - 12 = 10, Dy =27 -20 =7
♦ Const1 = 2Dy = 14, Const2 = 2( Dy – ... 4
i
i
x
x
i
i
y
y
i
i
p
p
i
i
0
0
1
1
2
2
2
2
0
0
4
4
1
1
1
1
3
3
2
2
1
1
-
-
2
2
2
2
1
1
4
4
2
2
1
1
1
1
2
2
3
3
1
1
5
5
2
2
2
2
6
6
4
4
1
1
6
6
2
2
3
3...
... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 12/ 22
• Lúc này việc chọn các điểm S, P ở trên được đưa về
việc xét dấu của
( )
++==
2
1
,12MidPoint2
iii
yxFFp
.
♦ ... đoạn thẳng,
tức là có :
0
00
=++
C
By
Ax
( )
+
+++=
++= CyBxAyxFp
2
1
12
2
1
, 12
00000
(
)
Dx
Dy
B
A
B
A
C
By
Ax
p
−=+=++++=⇒
2
2...
... −=
−=
−+=
4
5
2
1
,1
2
1
,1
000
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 19 /22
Cài đặt minh họa thuật toán MidPoint vẽ đường tròn
void CircleMidPoint ... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 18 /22
Lưu đồ thuật toán MidPoint vẽ đường tròn
Begin
p=5/4-R;
x=0;
y=R;
Put...
... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 7/16
M
M
i
i
n
n
h
h
h
h
o
o
ï
ï
a
a
t
t
h
h
u
u
a
a
ä
ä
t
t
t
t
o
o
a
a
ù
ù
n
n
• Ban đầu :
♦ ET : AB*, AI, ...
1+−
MinMax
yy
.
yMin
xIntersect
y=k
deltaY
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 8/16
• Khi dòng quét đạt y=y
B
♦ ET : G*F, DC, EF. (chuyển BC sang AET)...
... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 14/16
• Có hai quan điểm về cách tô này, đó là dùng 4 điểm
lân cận (hình a) hay 8 điểm lân cận (hình b).
• Cài đặt minh họa thuật ...
b
bb
b
b
bb
b
i
ii
i
i
ii
i
e
ee
e
e
ee
e
â
ââ
â
â
ââ
â
n
nn
n
n
nn
n
• Bài toán đặt ra : Cần tô màu vùng tô nếu biết được
màu của đường biên vùng tô và một điểm nằm bên
trong...
... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 9/16
Lưu đồ thuật toán tô màu theo dòng quét
Begin
Tạo danh sách tất cả các cạnh ET
i<TopScan
i=BottomScan
Yes
No
Cập ... UpdateActiveEdgeList
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 11/16
void PutEdgeInList(EDGELIST &EdgeList, POINT p1, POINT p2, int NextY)
{
EDGE EdgeTmp;
Edg...
... loang dần ra cho
đến khi gặp điểm biên. Cách này thường được dùng cho
các dạng đường biên phức tạp.
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán tô màu 4/16
T
T
o
o
å
å
c
c
h
h
ư
ư
ù
ù
c
c
... quét
hiện hành nhanh, ta có nhận xét :
()()
m
kk
m
xx
kk
1
1
1
1
=−+=−
+
hay
m
xx
kk
1
1
+=
+
.
y=k+1
y=k
x
k
x
k+1
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các th...
... phải là một các đa giác để sau này có thể
chuyển thành các vùng tô.
(a) (b) (c)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán xén hình 7/11
• Đặt
1max44
min133
1max 22
min111
,
... chính là giá trị nhỏ nhất
của các
kkk
p
q
r
/
=
mà
0
>
k
p
(đường thẳng đi từ trong
cửa sổ đi ra) và 1.
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán xén hình 9/...
... phương
trình :
≤≤
≤+≤
≤+≤
10
max1min
max1min
t
ytDyyy
x
tDx
x
x
P1(x1, y1)
P
2
(x
2
, y
2
)
t=0
t=1
t>1
x
x'
t<0
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán xén ... ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các thuật toán xén hình 5/11
Lưu đồ thuật toán Cohen - Sutherland
// Đoạn CT tính mã vùng
void ...
,
121 121
121 121
≤...