Tải bản đầy đủ - 0 (trang)
2 Xác đònh có cặp đoạn thẳng nào cắt nhau không

2 Xác đònh có cặp đoạn thẳng nào cắt nhau không

Tải bản đầy đủ - 0trang

Giải thuật thô sơ

°



Γ ιαι τηυα τ τηο σ: Κ ιε∑µ τρα ξεµ

µοι χαπ 〉 οαν τηανγ χο χατ νηαυ

ηαψ κηονγ . Τηι γ ιαν χηαψ λα Θ( ν 2 ) ,

ϖι ν λα σο〈 χαχ 〉 οαν τηανγ .



13.11.2004



Chương 35: Hình học tính toán



316



Kỹ thuật quét

°



Γ ιαι τηυα τ η⌡υ ηιε υ δυνγ κψ

τηυα τ θυετ ( σωεεπινγ ) :

∆υνγ µο τ 〉 ονγ τηανγ τηανγ 〉 νγ

θυετ τ τραι σανγ πηαι ϖα ξεµ ξετ

χαχ τηαψ 〉 ο∑ι χυα πηα◊ν γ ιαο χυα

〉 νγ τηανγ θυετ ϖι χαχ 〉 οαν

τηανγ .





Đường thẳng quét (sweep line)

°



Đường thẳng quét thẳng đứng, vò trí hiện

thời là toạ độ x



x

13.11.2004



Chương 35: Hình học tính toán



317



Thứ tự các đoạn thẳng

°



Đònh nghóa một thứ tự hoàn toàn trên các đoạn

thẳng cắt bởi đường thẳng quét.

– Hai đoạn thẳng s1 và s2 không cắt nhau là có

thể so sánh được tại x nếu đường thẳng quét

tại vò trí x cắt cả hai đoạn thẳng đó.



s2



s1



– Nếu s1 và s2 là có thể so sánh được tại x và

giao điểm của s1 với đường thẳng quét ở cao

hơn giao điểm của s2 với cùng đường thẳng

quét đó, thì ta nói s1 ở trên s2 , ký hiệu s1 > x s2 .

13.11.2004



Chương 35: Hình học tính toán



318



Thứ tự các đoạn thẳng (tiếp)



e

g



d

a



b

c



h



i

f



Mọi đường

v z thẳng

w

(a)

quét mà(b)đi qua

a >t b

b > u c e > vvùng

f nhưng

f >đều

xám

a >r c

w e

b >t c

có các đoạn

a >t c

thẳng

hẳng d không so sánh được

vớie và f ở

liên

đoạn thẳng khác trong hình

(a). tiếp nhau

trong

13.11.2004

Chương 35: Hình học

tính toán quan hệ thứ

319

tự của nó

r



tu



Các cấu trúc dữ liệu trong kỹ thuật

quét





Đường thẳng quét

°



13.11.2004



Khi di chuyển đường thẳng quét, giải thuật

trữ và duy trì các thông tin sau

– Tình trạng của đường thẳng quét

(sweep-line status): cho biết thứ tự giữa

các đối tượng (đoạn thẳng) bò cắt bởi

đường thẳng quét với nhau

– Lòch của các biến cố (event-point

schedule): dãy các tọa độ x, sắp từ trái

sang phải, xác đònh các vò trí dừng của

đường thẳng quét.



Chương 35: Hình học tính toán



320



Các thao tác lên sweep-line status

°



Χηι τιε〈τ γ ιαι τηυα τ η⌡υ ηιε υ δυνγ

κψ τηυα τ θυετ





Đường thẳng quét

°



13.11.2004



Khi di chuyển đường thẳng quét, giải thuật

trữ và duy trì các thông tin sau

– Tình trạng của đường thẳng quét

(sweep-line status): Các thao tác lên T:

°

INSERT(T, s): chèn đoạn thẳng s vào T

°

DELETE(T, s): xoá đoạn thẳng s khỏi T

°

ABOVE(T, s): trả về đoạn thẳng ở

ngay trên s trong T

°

BELOW(T, s): trả về đoạn thẳng ở

ngay dưới s trong T.



Chương 35: Hình học tính toán



321



Event-point schedule

– Lòch của các biến cố (event-point

schedule): dãy các tọa độ x, sắp từ trái

sang phải, xác đònh các vò trí dừng của

đường thẳng quét.

° Mỗi điểm đầu mút của các đoạn

thẳng (của tập input S) là một điểm

biến cố (event point), là điểm mà

thứ tự T thay đổi.

° Lòch của các biến cố là tónh và

được xây dựng bằng cách sắp xếp

các điểm đầu mút của các đoạn

thẳng theo thứ tự từ trái qua phải.



13.11.2004



Chương 35: Hình học tính toán



322



phải, breaking ties...

Xác đònh có cặp đoạn thẳng nào cắt

3 for mổi điểm p trong danh

nhau không

sách sắp xếp của các điểm

đầu mút

4

do if p là điểm đầu mút

bên trái của đoạn thẳng s

5

then INSERT(T, s)

6

if (ABOVE(T, s) tồn

tại và cắt s)

hay

(BELOW(T, s) tồn tại và cắt s)

7

then return

TRUE



8



if p là điểm đầu mút

bên phải của đoạn thẳng s

9

then

iftínhcả

13.11.2004

Chương

35: Hình học

toán hai ABOVE(T,

s) và BELOW(T, s) đều tồn tại



323



Thực thi ANY-SEGMENTS-INTERSECT



e



d



a

c



f



b

a



a

b



13.11.2004



a

c

b



d

a

c

b



d

c

b



e

d

c

b



Chương 35: Hình học tính toán



e

d

b



thời gian

324



Breaking ties

°



Νε〈υ κηι σαπ ξε〈π χαχ 〉 ιε∑µ 〉 α◊υ µυτ

χυα χαχ 〉 οαν τηανγ τρονγ Σ τ τραι

σανγ πηαι µα χο νηιε◊υ 〉 ιε∑µ χο

χυνγ τοα 〉 ο ξ τη βρεακινγ τιεσ νη

σαυ





a mút bên trái được xếp trước

Các điểm đầu

các điểm đầu mút bên phải.

q



b



p



ược xếp trước q khi sắp xếp các điểm đầu m

ở dòng 2 của ANY-SEGMENTS-INTERSECT

13.11.2004



Chương 35: Hình học tính toán



325



Tính đúng đắn

°



Τηεορεµ 35.1 ( Τνη 〉 υνγ 〉 αν)

Γ ιαι τηυα τ Α ΝΨ −Σ Ε Γ ΜΕ ΝΤΣ −Ι ΝΤΕ ΡΣΕ ΧΤ χηαψ

τρεν τα π Σ τρα ϖε◊ ΤΡΥΕ νε〈υ ϖα χη

νε〈υ χο χατ νηαυ γ ια χαχ 〉 οαν τηανγ .



°



Χηνγ µινη

“⇒”: ξεµ µα⌡ τα τηα〈ψ Α ΝΨ −Σ Ε Γ ΜΕ ΝΤΣ −Ι ΝΤΕ ΡΣΕ ΧΤ

τρα ϖε◊ ΤΡΥΕ χη κηι ναο νο τµ τηα〈ψ ηαι

〉 οαν τηανγ χατ νηαυ.

“⇐”: Σε⌡ χηνγ µινη ρανγ νε〈υ το◊ν ται

ηαι 〉 οαν τηανγ χατ νηαυ τη Α ΝΨ −

Σ Ε Γ ΜΕ ΝΤΣ −Ι ΝΤΕ ΡΣΕ ΧΤ τρα ϖε◊ ΤΡΥΕ .



13.11.2004



Chương 35: Hình học tính toán



326



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

2 Xác đònh có cặp đoạn thẳng nào cắt nhau không

Tải bản đầy đủ ngay(0 tr)

×