Biên soạn: Ths.Tôn Quang Toại TonQuangToai@yahoo.com. TPHCM, NĂM 2013[r]
Trang 1CƠ SỞ LẬP TRÌNH
NÂNG CAO
Biên soạn: Ths.Tôn Quang Toại TonQuangToai@yahoo.com
TPHCM, NĂM 2013
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2PHƯƠNG PHÁP THIẾT KẾ
THUẬT TOÁN − HÌNH HỌC −
Chương 9
Trang 3Nội dung
• Cấu trúc dữ liệu cơ bản
• Điểm và đoạn thẳng, đường thẳng và tia
• Giao điểm 2 đoạn thẳng, đường thẳng
• Đa giác
– Điểm và đa giác
– Đa giác lồi
– Bao lồi
Trang 4Hình ảnh
Trang 5Cấu trúc dữ liệu cơ bản
• Một số cấu trúc dữ liệu hình học cơ bản
– Điểm: P(xp, yp)
– Đoạn thẳng: XY
– Đường thẳng: Qua 2 điểm P1, P2
– Tia: Tia AB
P
x yp
y
2
y1
y2
0
P 1
P 2
B
A
X
Y
Trang 6Cấu trúc dữ liệu cơ bản
• Phương trình của đường thẳng
– Đường thẳng được xác định bởi 2 điểm P1(x1, y1), P2(x2, y2).
(y y )( ) ( )( y ) 0
x x x y x x y
x x x y x x y
�
�
�
Trang 7Cấu trúc dữ liệu cơ bản
• Phương trình của đường thẳng
– Dạng tổng quát
hay
1 2 2 1
(y y ) (x )
A
C x y x y
= −
= −
= −
2 1 1 2
(y y ) (x )
A
C x y x y
= −
= −
= −
Trang 8Cấu trúc dữ liệu cơ bản
• Đường thẳng chia mặt phẳng làm 3 phần
– Phần 1: Gồm các điểm trên đường thẳng
F(x,y)=0
– Phần 2: Gồm các điểm làm cho F(x,y)>0
– Phần 3: Gồm các điểm làm cho F(x,y)<0
x
y
0
+ +
+
+ +
+
+
+ + +
Trang 9Cấu trúc dữ liệu cơ bản
• Khoảng cách từ điểm P(x0, y0) đến đường thẳng (d) có phương trình F(x,y)=Ax+By+C=0
P(x0, y0)
( , ) A
Ax By C F x y h
Trang 10Cấu trúc dữ liệu cơ bản
• Đa giác: được xác định bởi tập đỉnh
được liệt kê thứ tự theo chiều kim đồng (hay ngược chiều kim đồng hồ)
– Đa giác lồi
– Đa giác lõm
0
1
2
3
0
1
2
3
4
5