Để hình dung tốt hơn về khái niệm lược đồ Voronoi, ta xét bài toán sau. Mộtngười nào đó đang muốn đi đến một siêu thị để mua hàng, trong khi có quá nhiều siêu thị ở thành phố này. Người đó sẽ chọn siêu thị nào gần nhà nhất để thuận tiện trong việc đi lại và tiết kiệm thời gian, công sức. Khi đó, cần phải có một tấm bản đồ để chỉ ra siêu thị nào gần nhà người đó nhất. Trong khuôn khổ chương 1, luận văn sẽ giới thiệu cách để biết được siêu thị nào gần nhà nhất và ngược lại.
Trang 1Trang 2
MỤC LỤC
MỤC LỤC 2
DANH MỤC BẢNG BIỂU 4
DANH MỤC HÌNH ẢNH 4
MỞ ĐẦU 7
Chương 1 CÁC KHÁI NIỆM CƠ BẢN 10
1.1 Khái niệm lược đồ Voronoi 10
1.2 Xây dựng lược đồ Voronoi trong máy tính 15
1.2.1 Khái niệm dòng quét và áp dụng vào việc xây dựng lược đồ Voronoi trong máy tính 16
1.2.2 Cấu trúc dữ liệu sử dụng để xây dựng lược đồ Voronoi 19
1.3 Thuật toán 21
Chương 2 VORONOI CHO TẬP CÁC ĐƯỜNG TRÒN 23
2.1 Vấn đề Apollonius thứ mười thông qua sự điều chỉnh bán kính và Mobius chuyển đổi 23
2.1.1 Cấu hình của đường tròn Apollonius 24
2.1.2 Mobius chuyển đổi 28
2.1.3 Biến đổi điều chỉnh bán kính 33
2.1.4 Thuật toán 39
2.1.5 Một số ví dụ minh họa 39
2.2 Thuật toán dòng quét xây dựng lược đồ Voronoi cho tập các đường tròn trong mặt phẳng 40
2.2.1 Giới thiệu chung về thuật toán 40
2.2.2 Ý tưởng thuật toán dòng quét của Fortune về lược đồ Voronoi cho tập các điểm 43
2.2.3 Áp dụng thuật toán dòng quét xây dựng lược đồ Voronoi cho đường tròn
44
2.2.4 Các loại sự kiện trong thuật toán 47
Trang 2Trang 3
2.2.5 Các thao tác cần xử lý thông qua dòng quét 50
2.2.6 Thuật toán 57
2.2.7 Phân tích thời gian và không gian thực thi thuật toán 59
2.3 Một trường hợp đặc biệt của lược đồ Voronoi cho tập đường tròn 62
2.3.1 Giải pháp 63
2.3.2 Các thuật toán 64
2.3.3 Đường tròn Apollonius 65
2.3.4 Các trường hợp của thuật toán lật cạnh 66
2.3.5 Cạnh của lược đồ Voronoi cho những đường tròn trong một đường tròn
69
2.3.6 Ví dụ minh họa 70
Chương 3 LƯỢC ĐỒ VORONOI CHO ĐỒ THỊ 75
3.1 Phương pháp xấp xỉ đường đi ngắn nhất 75
3.2 Lược đồ Voronoi trên đồ thị 75
3.2.1 Những khái niệm cơ bản 76
3.2.2 Voronoi trên đồ thị 77
3.2.3 Lược đồ Voronoi đối ngẫu trên đồ thị 78
3.2.4 Thuật toán parallel Dijkstra 78
3.2.5 Đường đi trên lược đồ Voronoi đối ngẫu 80
3.2.6 Voronoi Sleeve 81
3.2.7 Thuật toán xấp xỉ 81
Chương 4 CHƯƠNG TRÌNH MINH HỌA LƯỢC ĐỒ VORONOI CHO ĐỒ THỊ 94 4.1 Giao diện của chương trình minh họa 94
4.2 Chức năng của chương trình minh họa 95
KẾT LUẬN 100
DANH MỤC TÀI LIỆU THAM KHẢO 101
Trang 3Trang 4
DANH MỤC BẢNG BIỂU
Bảng 2.1 Tất cả các cấu hình của “Vấn đề Apollonius thứ mười” 27
Bảng 2.2 Các quy tắc điều chỉnh bán kính 38
Bảng 3.1 Bảng thực nghiệm so sánh thời gian thực thi của hai thuật toán 90
DANH MỤC HÌNH ẢNH Hình 1.1 Lược đồ Voronoi phân hoạch các siêu thị trong thành phố 10
Hình 1.1 (a) Lược đồ Voronoi cho điểm 10
Hình 1.1 (b) Vùng Voronoi 11
Hình 1.2 Sự tạo thành lược đồ Voronoi cho trường hợp các điểm không thẳng hàng 12
Hình 1.3 Đường tròn Cp(q) 15
Hình 1.4 Minh họa một thời điểm khi thực hiện thuật toán dòng quét của Fortune 16
Hình 1.5 Cách hình thành và tính chất của đường parabol 16
Hình 1.6 Đường beach Line được tạo bởi nhiều cung parabol cắt nhau 17
Hình 1.7 Đường parabol sinh ra và cấu trúc Beach Line thay đổi 17
Hình 1.8 (a) Hai điểm phân kỳ hội tụ khi l đi xuống 17
Hình 1.8 (b) Cấu trúc đường Beach Line bị chia tách 17
Hình 1.9 Hai điểm hội tụ tạo thành đỉnh q 18
Hình 2.1 Lược đồ Voronoi cho tập các đường tròn 24
Hình 2.2 (a) Đường tròn tiếp xúc và đường tròn phát tiếp xúc ngoài với nhau 25
Hình 2.2 (b) Đường tròn phát nằm bên trong đường tròn tiếp xúc 25
Hình 2.2 (c) Đường tròn phát chứa đường tròn tiếp xúc 26
Hình 2.3 Đường tròn tiếp xúc đi qua z0 30
Hình 2.4 Các đường tròn tiếp xúc ánh xạ thành đường thẳng tiếp tuyến 31
Hình 2.5 Quy tắc điều chỉnh bán kính 34
Hình 2.6 Tập các đường tròn cho trước trong mặt phẳng 40
Hình 2.7 Bốn vùng Voronoi 41
Hình 2.8 Một đường tròn tham gia vào hai vùng Voronoi 41
Hình 2.9 Bốn site S11, S12, S21, S22 được tạo 44
Hình 2.10 Khoảng cách từ điểm p đến đường tròn g1 45
Trang 4Trang 5
Hình 2.11 Đỉnh, cạnh và vùng Voronoi 46
Hình 2.12 Dòng quét S và đường Beach Line B 46
Hình 2.13 (a) Đường chuẩn D cho cung parabol nằm ngoài đường tròn 47
Hình 2.13 (b) Đường chuẩn D cho cung parabol nằm trong đường tròn 47
Hình 2.14 Bốn loại sự kiện 48
Hình 2.15 Bốn cấu hình khác nhau của đường tròn Apollonius 49
Hình 2.16 Xử lý một sự kiện điểm 50
Hình 2.17 Xử lý một sự kiện kết hợp 52
Hình 2.18 Xử lý một sự kiện chéo 54
Hình 2.19 Dòng quét S gặp một sự kiện điểm E 56
Hình 2.20 Xử lý một sự kiện đường tròn 56
Hình 2.21 Lược đồ Voronoi cho những đường tròn trong một đường tròn 62
Hình 2.22 Các bước hình thành lược đồ Voronoi 63
Hình 2.23 Đường tròn mate 63
Hình 2.24 Cấu trúc Voronoi ban đầu 64
Hình 2.25 Các trường hợp hình thành đường tròn tiếp xúc 65
Hình 2.26 Mobius chuyển đổi 66
Hình 2.27 Đường tròn tiếp xúc không cắt đường tròn mate 66
Hình 2.28 Đường tròn tiếp xúc cắt đường tròn mate 67
Hình 2.29 Chỉ có đường tròn tiếp xúc cho đỉnh v2 tồn tại và nó cắt mate 68
Hình 2.30 Chỉ có đường tròn tiếp xúc cho đỉnh v2 tồn tại và nó không cắt mate 69
Hình 2.31 Hai ví dụ về các đường tiếp tuyến được tạo ra 70
Hình 2.32 Sơ đồ đầu tiên: tập các đường tròn cho trước 70
Hình 2.33 Hình thành lược đồ Voronoi cho điểm 71
Hình 2.34 Cấu trúc Voronoi ban đầu với đường tròn đóng thêm vào 71
Hình 2.35 Cấu trúc các đường tròn tiếp xúc ban đầu 72
Hình 2.36 Tâm của các đường tròn Apollonius 72
Hình 2.37 Phát sinh 5 tham số cho đường cong Bezier 73
Hình 2.38 Thêm đường cong Bezier 74
Trang 5Trang 6
Hình 2.39 Lược đồ Voronoi cho đường tròn hoàn chỉnh 74
Hình 3.1 Đồ thị có hướng 76
Hình 3.2 Ví dụ đường đi từ s đến t 84
Hình 3.3 Ví dụ minh họa cho bổ đề 3.3 84
Hình 4.1 Giao diện của ứng dụng tìm đường đi ngắn nhất xấp xỉ 94
Hình 4.2 Giao diện của ứng dụng với đồ thị và các site 96
Hình 4.3 Giao diện của ứng dụng với đồ thị và các vùng Voronoi 96
Hình 4.4 Giao diện của ứng dụng với Voronoi dual 97
Hình 4.5 Giao diện của ứng dụng với Voronoi sleeve 98
Hình 4.6 Giao diện của ứng dụng với đường đi ngắn nhất xấp xỉ 98
Hình 4.7 Giao diện của ứng dụng với đường đi đúng trùng với đường đi ngắn nhất xấp xỉ 99
Trang 6Trang 7
MỞ ĐẦU
Lược đồ Voronoi là một khái niệm đã được đề xuất từ rất lâu Vào thế kỷ 17, Descartes đã chia vũ trụ thành những “cơn lốc” (vortices), đây được xem là một lược đồ Voronoi đầu tiên mặc dù Descartes không định nghĩa rõ ràng các “cơn lốc” của ông là các ô Voronoi (xem hình bên dưới)
Sau đó, vào thế kỉ 19, các nghiên cứu của nhà toán học Đức Lejeune Dirichlet về các dạng toàn phương đã đóng góp rất nhiều cho việc xây dựng lược đồ Voronoi Chính
vì vậy mà các lược đồ voronoi còn được gọi là “cách lát đá hoa của Dirichlet” Trước khi mất năm 1859, Dirichlet đã đưa ra khái niệm Voronoi trong không gian 2 chiều và 3 chiều Vào năm 1908, M.G.Voronoi đã đưa ra khái niệm Voronoi trong không gian n chiều và cái tên Voronoi bắt đầu từ đó
Trước đây, lược đồ Voronoi chỉ được coi là thuộc lĩnh vực toán học, là thuật toán
để giải quyết các vấn đề hình học Do nhu cầu của hoạt động nghiên cứu, phân tích và thiết kế các thuật toán mà hình học tính toán ra đời vào khoảng năm 1970 Hình học tính
Trang 7Trang 8
toán (computational geometry) là một nhánh của khoa học máy tính nghiên cứu các thuật toán để giải các bài toán hình học Trong toán học và thiết kế kỹ thuật hiện đại, hình học tính toán có các ứng dụng về đồ họa máy tính, robot, thiết kế nhờ máy tính hỗ trợ, thống
kê và nhiều lĩnh vực khác Dữ liệu đầu vào cho một bài toán hình học tính toán thường là một mô tả về một tập hợp các đối tượng hình học, như một tập hợp các điểm, một tập hợp các đoạn thẳng,… Phần lớn bài toán hình học tính toán có xét đến khoảng cách giữa các điểm
Lược đồ Voronoi có rất nhiều ứng dụng trong các ngành khoa học Bất cứ khi nào
ta quan tâm đến khoảng cách trong một tập dữ liệu phân biệt thì Voronoi tỏ ra rất hữu hiệu Đối với những dự án khoa học lớn có sự trợ giúp của máy tính, lược đồ Voronoi giúp giảm đáng kể các phép tính cơ bản và làm tăng hiệu quả thuật toán Chính vì vậy, nó
đã phát triển độc lập trong nhiều ngành khoa học khác Chẳng hạn như, năm 1909, một nhà khoa học người Nga tên BT Boldyrev đã sử dụng khái niệm “vùng ảnh hưởng của các đa giác” trong nghiên cứu của ông ở Geology Năm 1911 ở Meteogology, Thiesen đã dùng lược đồ Voronoi để tính lượng mưa trung bình Năm 1927, nhà khoa học Đức – Paul Niggli đã ứng dụng lược đồ Voronoi trong ngành tinh thể học Năm 1933, hai nhà vật lý học là EP Wigner và F.Seitz đã tiến hành một cuộc nghiên cứu quan trọng về ứng dụng của lược đồ Voronoi trong vật lý Sau đó, lược đồ Voronoi tiếp tục đóng một vai trò quan trọng trong Vật lý học, Sinh thái học, Giải phẫu học và Thiên văn học trong suốt những năm 1900
Cho đến nay, lược đồ Voronoi đã được phát triển thành nhiều loại khác nhau tùy theo yêu cầu của bài toán Một cách tổng quát, lược đồ Voronoi của một tập điểm (thường được gọi là các trạm) trên mặt phẳng là một cách chia mặt phẳng thành các vùng, mỗi vùng chứa một (hoặc có thể nhiều trạm), bất kỳ điểm nào trong một vùng cũng đều gần với trạm của nó hơn bất kỳ trạm nào khác Tuy nhiên, khi ứng dụng lược đồ Voronoi vào các bài toán thực tế, các đối tượng điểm không đáp ứng được nhu cầu của bài toán
Do đó, cần mở rộng lược đồ Voronoi cho tập các đối tượng hình học khác như đường tròn, đồ thị, elip,… Gần đây, có một số nghiên cứu về lược đồ Voronoi mở rộng như lược
đồ Voronoi cho tập các đường tròn ứng dụng vào thiết kế cáp cho xe có động cơ giúp
Trang 8Trang 9
giảm thiểu nguyên liệu làm cáp và nhiên liệu chứa trong cáp; lược đồ Voronoi cho đồ thị dùng để tìm đường đi ngắn nhất từ điểm đầu đến điểm cuối; lược đồ Voronoi cho elip ứng dụng vào việc thiết kế thân tàu thủy, thân máy bay; lược đồ Voronoi trong mặt phẳng
ba chiều để hình thành lược đồ Voronoi cho các khối đa diện và xử lý các hình ảnh ba
chiều…
Với những ứng dụng vô cùng rộng rãi của lược đồ Voronoi, nhóm đã chọn đề tài này với mong muốn tìm hiểu về khái niệm và những tính chất của lược đồ Voronoi cơ bản, cùng với một số lược đồ Voronoi mở rộng Luận văn sẽ khảo sát, nghiên cứu lý thuyết, các tính chất quan trọng của lược đồ Voronoi cơ bản Dựa trên cơ sở đó, luận văn
sử dụng lược đồ Voronoi cơ bản để tìm hiểu các lược đồ Voronoi mở rộng Trong các lược đồ Voronoi mở rộng đã trình bày ở trên, nhóm nhận thấy lược đồ Voronoi cho tập các đường tròn và lược đồ Voronoi cho đồ thị thú vị và có những đặc trưng riêng nên đã chọn hai loại lược đồ này để nghiên cứu trong luận văn
Luận văn được kết cấu thành 3 chương, chương 1 sẽ trình bày định nghĩa cũng như các tính chất quan trọng của lược đồ Voronoi cơ bản Trong chương này, luận văn cũng trình bày một thuật toán hữu hiệu để xây dựng lược đồ Voronoi cũng như các cấu trúc dữ liệu cần thiết để biểu diễn một lược đồ Voronoi
Trong chương 2, luận văn sẽ khảo sát lược đồ Voronoi cho tập các đường tròn cho trước trong mặt phẳng Chương này trình bày về “Vấn đề Apollonius thứ mười” Vấn đề này đưa ra cách thức tìm đường tròn tiếp xúc với ba đường tròn phát cho trước Đồng thời, chương này cũng phân tích thuật toán dòng quét xây dựng lược đồ Voronoi và mở rộng thành lược đồ Voronoi cho những đường tròn trong một đường tròn
Nội dung chương 3 đề cập đến lược đồ Voronoi cho đồ thị, giới thiệu, trình bày các định nghĩa liên quan đến lược đồ Voronoi cho đồ thị, nêu thuật toán để hình thành lược đồ
Chương trình minh họa ứng dụng cho thuật toán trong chương 3, giao diện của chương trình ứng dụng và hướng dẫn cách sử dụng chương trình được trình bày trong chương 4
Trang 9Để hình dung tốt hơn về khái niệm lược đồ Voronoi, ta xét bài toán sau Một người nào đó đang muốn đi đến một siêu thị để mua hàng, trong khi có quá nhiều siêu thị
ở thành phố này Người đó sẽ chọn siêu thị nào gần nhà nhất để thuận tiện trong việc đi lại và tiết kiệm thời gian, công sức Khi đó, cần phải có một tấm bản đồ để chỉ ra siêu thị nào gần nhà người đó nhất Trong khuôn khổ chương 1, luận văn sẽ giới thiệu cách để biết được siêu thị nào gần nhà nhất và ngược lại
Hình 1.1 Lược đồ Voronoi phân hoạch các siêu thị trong thành phố
1.1 Khái niệm lược đồ Voronoi
Trong khuôn khổ luận văn, tất cả các đối tượng hình học đều được xét trong mặt phẳng 2 chiều
Định nghĩa 1.1 Xét P={p1, p2,…, pn} là tập hợp n
điểm cho trước nằm trên mặt phẳng P
Lược đồ Voronoi của P là một cách phân
hoạch mặt phẳng thành n vùng Mỗi vùng ứng với 1
điểm trong P, sao cho nếu điểm q bất kì thuộc vùng
tương ứng với pi thì khoảng cách từ q tới pi nhỏ hơn
khoảng cách từ q tới pj với pj ≠ pi Nghĩa là: ∀pj ∈ P, j
≠ i, ta có: dist(q, pi) < dist(q, pj)
p 6
Trang 10- Nửa mặt phẳng chứa p là h(p, q)
- Nửa mặt phẳng chứa q là h(q, p)
Ghi chú: Cho hai điểm p, q trên mặt phẳng Xét một điểm r bất kỳ, ta thấy r thuộc nửa
mặt phẳng chứa p, nghĩa là r ∈ h(p,q) nếu và chỉ nếu khoảng cách từ r tới p nhỏ hơn khoảng cách từ r tới q, nghĩa là: dist(r, p) < dist(r, q)
Nhận xét 1.1 Từ định nghĩa vùng Voronoi của pi (V(pi)), ta nhận thấy rằng V(pi) là giao của ít nhất một và nhiều nhất là (n −1) nửa mặt phẳng của pi với pj, với i ≠ j Ta viết như sau: V(pi) = ⋂ , ℎ( , )
Chứng minh
● V(pi) là phần giao của tối đa (n-1) nửa mặt phẳng
Do xung quanh nó chỉ có tối đa (n-1) đỉnh nên chỉ có tối ta (n-1) cạnh
● Lược đồ Voronoi là phần giao của một số nửa mặt phẳng
Lược đồ Voronoi cho tập điểm thẳng hàng gồm (n-1) cạnh là đường thẳng và ngược lại, lược đồ Voronoi gồm (n-1) cạnh là đoạn thẳng hoặc nửa đường thẳng Khi đó, tập n vùng V(pi) với i=1, … , ghép lại với nhau tạo thành Vor(P) của mặt phẳng P={p1, p2,…, pn}
Hình 1.1 (b): Vùng
Voronoi của p i kí hiệu
V(p i )
pi
Trang 11Trang 12
Định lý 1.1 Cho P là tập n điểm trên mặt phẳng Nếu n điểm này thẳng hàng thì Vor(P)
gồm (n-1) đường thẳng song song Ngược lại, Vor(P) liên thông và các cạnh là đoạn
thẳng hoặc là nửa đường thẳng
Ghi chú: Nửa đường thẳng là đường thẳng bị giới hạn 1 đầu, đầu còn lại bị kéo dài, hay
còn gọi là tia thẳng
Chứng minh
i) Trường hợp 1: Lược đồ Voronoi gồm (n-1) đường thẳng song song: do tính
chất của đường trung trực, ii) Trường hợp 2: Vor(P) liên thông và các cạnh là đoạn thẳng hoặc nửa đường
thẳng, giả thuyết các điểm không thẳng hàng
Ta chứng minh trường hợp 1: Các cạnh là đoạn thẳng hoặc nửa đường thẳng Giả sử điều cần chứng minh là sai (các cạnh là đường thẳng đầy đủ)
Với e là một cạnh của Vor(P) Vậy e là một
đường thẳng đầy đủ e nằm trên đường biên
Voronoi của V(pi), V(pj) pk thuộc P là điểm
không thẳng hàng với pi, pj, đường biên của pj và
pk không song song e
Do đó, đường biên của pj và pk cắt e
Khi đó, một phần của e nằm trong h(pk, pj )
và không thể nằm trên đường bao của pj vì nó gần
pk hơn pj (do tính chất của h(pk, pj ) )
Điều này là mâu thuẫn
Vậy các cạnh là đoạn thẳng hoặc nửa đường thẳng
Ta chứng minh trường hợp 2: Vor(P) là liên thông
Nếu Vor(P) không liên thông thì sẽ tồn tại một vùng Voronoi V(pi ) chia mặt phẳng thành hai phần Khi đó, vùng Voronoi là lồi, V(pi) sẽ gồm một dãi được bao bởi hai đường thẳng song song Do đó, cạnh của Vor(P) là đường thẳng, điều này mâu thuẫn với chứng minh 1 (các cạnh của voronoi không thể là một đường thẳng)
Hình 1.2 Sự tạo thành lược đồ Voronoi trong trường hợp các điểm không thẳng hàng
Trang 12Trường hợp 2: Chúng ta sẽ chứng minh định lý này bằng việc sử dụng công thức
Ơle Định lý Ơle phát biểu rằng đối với mọi đồ thị phẳng có:
mv - mc + mf = 2
Trong đó, mv:số nút, mc: số cạnh, mf:số vùng
Chúng ta không thể áp dụng công thức Ơle trực tiếp cho Vor(P) do Vor(P) có một
số cạnh là một nửa đường thẳng và vì vậy nó không là một đồ thị đúng nghĩa Để giải quyết tình trạng này, ta thêm một đỉnh v ‘tại vô cực’ vào tập các đỉnh và nối tất cả các cạnh có một đầu không giới hạn của Vor(P) vào đỉnh này Bây giờ, chúng ta có một đồ thị liên thông, gọi là lược đồ mở rộng thỏa mãn điều kiện của công thức Ơle Chúng ta có được mối quan hệ sau giữa nv (số đỉnh của Vor(P)), ne (số cạnh của Vor(P)) và n (số điểm cho trước của Vor(P)) như sau:
(nv + 1) – ne + n = 2 (1) Hơn nữa, mỗi cạnh trong lược đồ mở rộng có chính xác 2 đỉnh, do vậy, tổng bậc của các đỉnh bằng 2 lần số cạnh:
e n
Trang 132(nv + n – 1)3(nv + 1) nv ≤ 2n − 5
Từ (1) ta lại có: nv = ne – n + 1(4) Thay (4) vào (2): 2ne 3(ne – n + 2) ne ≤ 3n − 6
Nhận xét 1.1
i) Các cạnh là một phần của đường trung trực của một cặp điểm bất kỳ,
ii) Các đỉnh là giao của các cạnh
Tuy nhiên, với mặt phẳng P có n điểm thì sẽ có (n-1)! đường trung trục vì giữa một điểm với (n-1) điểm khác sẽ tạo được (n-1) đường trung trực, nhưng không phải đường trung trục nào cũng là cạnh nên không phải tất cả các đường trung trục đều là cạnh của Vor(P) và không phải tất cả các điểm giao đều là đỉnh
Để xác định đường trung trục nào và điểm giao nào tạo thành cạnh và đỉnh của Vor(P), luận văn tiếp tục giới thiệu định nghĩa sau
Định nghĩa 1.2 Cho điểm q bất kỳ, ta định nghĩa đường tròn rỗng lớn nhất của q đối với
mặt phẳng P, kí hiệu là Cp(q), là đường tròn lớn nhất với q là tâm sao cho đườngt ròn này
không chứa bất cứ điểm nào của tập điểm trong mặt phẳng P bên trong nó
Định lý 1.3 Lược đồ Voronoi gồm tập P={p1, p2,…, pn} nằm trên cùng mặt phẳng thỏa
các tính chất
Trang 14Trang 15
i) q là đỉnh của Vor(P) nếu và chỉ nếu đường tròn Cp(q) đi qua nhiều hơn 2 điểm
trong P
ii) đường trung trực đoạn pi, pj, xác định một cạnh của Vor(P) nếu và chỉ nếu q
nằm trên đường trung trực sao cho đường tròn Cp(q) đi qua pi, pj
Chứng minh
Giả sử có một điểm q mà Cp(q) chứa nhiều hơn 2 điểm mà các điểm này nằm trên đường biên của đường tròn Cp(q) Cho pi, pj và pk là 3 trong số các điểm đó Vì bên trong Cp(q) là rỗng; nên q phải nằm trên đường biên của (pi), (pj), (pk) và q phải
là một đỉnh của Vor(p) (do tính chất của đường trung trực)
Mặt khác, mọi đỉnh q của Vor(p) được tạo nên bởi tối thiểu 3 cạnh nối liền với nó, do vậy, sẽ tồn tại tối thiểu 3 vùng Vonoroi V(pi), V(pj), V(pk) Đỉnh q phải cách đều pi, pj và pk và không được có một điểm nào nào khác gần q hơn nữa Do vậy, bên trong đường tròn đi qua pi, pj và pk không chứa thêm một điểm nào nữa
Giả sử, tồn tại một điểm q với tính chất đã được nêu ra trong định lý 1.3 Vì
Cp(q)=dist(q,pj)dist(q,pk) với pj, pk ∈ P Theo đó, q nằm trên một cạnh hoặc đỉnh của Vor(p) Phần đầu của định lý ngụ ý rằng, q không thể là một đỉnh của Vor(p) Do vậy, q nằm trên một cạnh của Vor(p), cũng chính là đường biên của pi và pj.
Ngược lại, đường biên của pi và pj là một cạnh của Vor(p) Đường tròn rỗng lớn nhất của bất kỳ điểm q nào thuộc cạnh này phải chứa pj và pi trên đường biên của nó và không chứa thêm điểm nào nữa
Như chúng ta đã biết, lược đồ Voronoi có những ứng dụng rộng rãi trong thực tế
Ở mục trước, chúng ta đã khảo sát một số định nghĩa và tính chất của lược đồ Voronoi
Hình 1.3 Đường tròn C p (q) đi qua 2
hoặc nhiều hơn 2 điểm trong mặt
phẳng P
q
q
Trang 15Trang 16
Hình 1.4 Minh họa một thời điểm khi thực hiện thuật toán dòng quét của Fortune
Hình 1.5 Cách hình thành và tính chất của
đường parabol
Nhưng lược đồ Voronoi chỉ được áp dụng khi đã xây dựng
trên máy tính Sau đây, ta sẽ tìm hiểu thuật toán xây dựng
lược đồ Voronoi trên máy tính
Trước tiên, hãy xem xét những nhận xét sau:
Nhận xét 1.2 pi là phần giao giữa các nửa mặt phẳng h(pi,pj)
với i≠j Các nửa mặt phẳng lần lượt ghép với nhau thành một
vùng Voronoi Từ đó, các vùng Voronoi hoàn chỉnh ghép
lại với nhau tạo thành Vor(P) Có nhiều thuật toán xây
dựng lược đồ Voronoi Luận văn chọn nghiên cứu thuật toán do Fortune đề nghị với cách xây dựng bằng dòng quét vì thuật toán này phổ biến và dễ hiểu
1.2.1 Khái niệm dòng quét và áp dụng vào việc xây dựng lược đồ Voronoi trong máy tính
Dòng quét là một đường thẳng tưởng tượng quét từ đỉnh đến đáy của mặt phẳng,
kí hiệu là l Khi quét, chúng ta sẽ lưu những điểm cắt của l với lược đồ voronoi sinh ra ở phần trên của l được gọi là l+, thế nhưng chúng ta sẽ gặp khó khăn Vì phần Vor(P) ở trên
l không chỉ phụ thuộc vào những điểm nằm phía trên của l mà còn phụ thuộc vào những
điểm nằm phía dưới l Khi dòng quét đi từ trên xuống dưới thì chúng ta lưu thông tin
về đường cắt với lược đồ Voronoi, nhưng chúng ta đang sử dụng dòng quét để xây dựng lược đồ voronoi Và khi dòng quét quét từ trên xuống, một phần voronoi hình thành phía trên dòng quét nhưng đó không
là hoàn chỉnh vì lược đồ còn phụ thuộc vào những điểm nằm phía dưới dòng quét Gọi l+ là phần phía trên l Với mỗi q thuộc l+
Khoảng cách của q thuộc l+ tới một điểm bất kỳ nào nằm dưới l luôn luôn lớn hơn khoảng cách q->l
Do vậy, điểm gần nhất của q không thể nằm đưới l, tối thiểu là nằm trên l
Trang 16Trang 17
Hình 1.6 Đường Beach Line được tạo bởi nhiều cung parabol cắt nhau
Quỹ tích các điểm nằm gần điểm pi nào đó phía trên
dòng quét là các đường parabol
Vậy quỹ tích những điểm gần pi hơn là một đường
parabol và với nhiều điểm thì chúng ta sẽ có nhiều parabol
được sinh ra và cắt nhau Chúng ta nhìn từ đường quét trở
lên, những đoạn parabol nào được cắt nhau và chúng bao
ngoài những parabol nằm bên trong thì tạo thành đường bờ biển Beach Line
Khi dòng quét quét từ trên xuống, thay vì phải lưu
thông tin những điểm cắt nhau của dòng quét với Voronoi thì
chúng ta sẽ lưu thông tin đường quét với parabol
Khi dòng quét đi qua điểm pi, parabol ứng với pi sinh
ra với độ rộng bằng 0, parabol tiếp tục rộng thêm khi dòng
quét tiếp tục đi xuống
Nhận xét 1.3 Trong quá trình di chuyển từ trên xuống,
Beach Line đơn điệu, nghĩa là, tất cả các trục dọc (l) chỉ cắt
nó tại một điểm duy nhất
Khi dòng quét qua pi, đường Beach Line phát sinh 2
chia tách
a
b c
Trang 17Trang 18
Hình 1.9 Hai điểm hội tụ tạo thành đỉnh q
Nhận xét 1.4 Cung mới xuất hiện trên đường Beach Line chỉ khi dòng quét quét qua sự
kiện điểm Sự kiện điểm là khi dòng quét đi qua mọi điểm pi trong mặt phẳng P, khi đó pi
gọi là sự kiện điểm n điểm pi thuộc P với i=1 n đều tạo thành một sự kiện điểm
Đường bờ có tối đa 2n-1 cung parabol
22
1
y jy jx jx y
jy
l p
Khi các parabol rộng dần ra, các điểm cắt cũng di chuyển, các điểm cắt di chuyển tạo thành các đường thẳng, đoạn thẳng hoặc tia thẳng, chính là các cạnh của Voronoi Hai parabol rộng dần ra, các điểm cắt di chuyển tạo thành đường thẳng kéo dài, cho tới khi gặp một parabol khác cắt tại giao điểm của hai parabol ban đầu thì tạo thành đỉnh, chính
là đỉnh của Voronoi
Khi đó, đường bờ có tối đa 2n-1 cung parabol vì : Mỗi khi có một điểm tham gia, làm tăng thêm một đường cong mới trên Beach Line và chia tối đa một đường con hiện tại làm hai và không có cách nào khác để một đường cong xuất hiện trên Beach Line
Nhận xét 1.5 Cách duy nhất mà tại đó một cung hiện tại có thể biến mất là thông qua sự
kiện đường tròn
b
Trang 18Trang 19
Hai điểm gãy phân kỳ (a và b sẽ phân kỳ khi parabol rộng dần ra)
Hai điểm gãy hội tụ (b và c sẽ hội tụ khi parabol p rộng dần ra) tạo thành 1 đỉnh và
từ đỉnh đó sẽ tiếp tục sinh ra cạnh mới
Đỉnh là nơi 2 điểm hội tụ, gọi là q Khi đó, cung ’ biến mất và ở đỉnh q sẽ xuất hiện sự kiện đường tròn, với q là tâm, bán kính là qpi =qpj =qpk Điều này có nghĩa là 3 điểm pi, pj, pk nằm trên đường biên của đường tròn tâm q
Khi dòng quét đi qua điểm thấp nhất của đường tròn tâm q thì một cung trên đường Beach Line sẽ triệt tiêu q là tâm của đường tròn đi qua 3 điểm pi, pj, pk và tiếp xúc với dòng quét Khi đó q là đỉnh của lược đồ Vor(P) Điểm dòng quét đi qua, là điểm thấp nhất của đường tròn được gọi là sự kiện đường tròn
Một cung trên bờ biến mất chỉ khi dòng quét đi qua sự kiện đường tròn
Chú ý: q là điểm hội tụ, khi đó q là giao của 2 cung , ’’, mặc khác q cũng nằm trên
đường parabol chứa ’ Do đó, q là giao của 3 cung parabol , ’, ’’ Theo tính chất của đường parabol thì qpi = qpj = qpk và = qH với qH vuông góc với l (pi, pj, pk chính là tiêu điểm F và đường quét l chính là đường chuẩn ∆ trong định nghĩa parabol ở trên)
Để xây dựng lược đồ Voronoi trong máy tính, ngoài những khái niệm trên, còn cần phải có một cấu trúc dữ liệu như sau
1.2.2 Cấu trúc dữ liệu sử dụng để xây dựng lược đồ Voronoi
a Cây dữ liệu T
Để dễ dàng lưu trữ và xử lý các dữ liệu của thuật toán, luận văn sẽ giới thiệu cách biễu diễn lược đồ Vor(P) bằng cây tìm kiếm nhị phân cân bằng T Các nốt lá ứng với các cung của đường bờ biển Beach Line Nốt lá ngoài cùng trái ứng với cung ngoài cùng trái Các nốt trong ứng với các điểm gãy của đường bờ biển Beach Line
Mỗi nốt lá lưu một điểm pi, xác định cung tương ứng và một con trỏ trỏ đến nốt trong hàng đợi sự kiện ứng với sự kiện đường tròn Con trỏ này là null nếu sự kiện đường tròn chưa xác định được
Mỗi cung lưu trong bộ (pi,pj), pi là điểm ứng với cung bên trái điểm gãy, pj ứng với cung bên phải điểm gãy, điểm gãy và một con trỏ trỏ đến nửa cạnh của cây T
Trang 19Trang 20
b Hàng đợi sự kiện
Trong quá trình dòng quét di chuyển từ trên xuống, khi nó gặp một điểm bất kỳ trong mặt phẳng P thì việc xử lý sự kiện xảy ra Để thuận tiện cho công việc này, ta lưu các điểm trong mặt phẳng và hàng đợi ưu tiên với độ ưu tiên xét theo tung độ các điểm sự kiện Khi đó, những điểm trong hàng đợi sẽ có thứ tự như trong mặt phẳng khi dòng quét
đi từ trên xuống Với sự kiện điểm ta lưu chính điểm đó Với sự kiện đường tròn, ta lưu điểm thấp nhất của đường tròn và một con trỏ trỏ đến nốt là trong T ứng với cung sẽ biến mất khi sự kiện xảy ra
Xác định sự kiện đường tròn: Khi có bộ 3 điểm liên tục mới, nếu 3 điểm này là 3 điểm
phân biệt khác nhau thì:
-Bộ 3 cung liền kề có 2 điểm gãy phân kì Trường hợp này bộ 3 không xác định một sự kiện đường tròn
-Bộ 3 cung liền kề có 2 điểm gãy hội tụ Trường hợp này chưa thể xác định sự kiện đường tròn vì có thể bộ 3 biến mất (sự xuất hiện của điểm mới trên đường bờ)
Sự kiện được gọi là sự kiện sai (sẽ giải thích rõ ở phần sau)
-Với mỗi sự kiện ta kiểm tra bộ 3 cung liền kề xuất hiện, nếu bộ 3 có điểm gãy hội
tụ thì sự kiện đường tròn xuất hiện
Trong suốt quá trình trượt, Beach Line thay đổi cấu trúc hình học của nó tại mọi
sự kiện Điều này có nghĩa là 3 cung liên tiếp có thể xảy ra tại tất cả các sự kiện điểm Tại một sự kiện điểm, một cung mới xuất hiện trên Beach Line và sẽ có một bộ 3 cung liên tiếp mới trong đó có cung mới này Tại một sự kiện đường tròn, một cung biến mất khỏi Beach Line và các cung bên cạnh hình thành lên một bộ 3 mới Hơn nữa, các sự kiện điểm có thể phá hủy bộ 3 của các cung liên tục Khi một cung biến mất tại một sự kiện đường tròn, tất cả các bộ 3 khác liên quan đến cung đó không còn phù hợp là bộ 3 liên tục trên Beach Line nữa Khi một cung mới xuất hiện tại một sự kiện điểm, một cung khác bị chia đôi và bộ 3 tương ứng với cung bị chia bị phá hủy
Trang 20Trang 21
Một sự kiện đường tròn chỉ hình thành nếu bộ 3 cung liên tục tồn tại cho đến khi đường trượt tiếp xúc với điểm thấp nhất của đường tròn Sự kiện đường tròn bị xóa bỏ trước khi hình thành còn được gọi là sự kiện sai
Tóm lại, hàng đợi sự kiện Q chứa một đường tròn sự kiện nếu và chỉ nếu có bộ 3 cung liên tiếp trên Beach Line mà đường tròn đi qua điểm pi định nghĩa nên các cung này
và đường tròn giao với đường trượt chưa bị xóa
Khi có một bộ 3 cung liên tục mới, đầu tiên chúng ta kiểm tra xem những cùng này có phải được xác định bởi 3 điểm khác nhau không, nếu chỉ là của 2 điểm thì vấn đề
đã được giải quyết, chúng ta bỏ qua bộ 3 mới này: nó không thể tạo nên sự kiện đường tròn Nếu 3 điểm đã được giải quyết, chúng ta kiểm tra xem sự kiện đường tròn có phải nằm trong hàng đợi Q chưa và đường tròn có giao với đường trượt không Nếu vậy, chúng ta thêm đường tròn sự kiện, nếu không, chúng ta bỏ qua nó
Lưu ý: Sau khi tất cả sự kiện được giải quyết và hàng hợi sự kiện rỗng, Beach Line vẫn
chưa biến mất
1.3 Thuật toán
Input: P = {p1 , …, p n } n điểm phân biệt trong mặt phẳng
Output: Vor(P) và biên giới hạn
B1 Khởi tạo hàng đợi sự kiện Q với các điểm sự kiện là các điểm thuộc P
Khởi tạo trạng thái dòng quét L rỗng
Khởi tạo T rỗng
B2 while Q ≠ Ø do
Lấy điểm sự kiện q có tung độ lớn nhất ra khỏi Q
Nếu q = p i thuộc P thì XulySukienDiem(pi)
Ngược lại XulySukienDuongtron( ), trong đó là nốt lá của T ứng với cung bị triệt tiêu
B3 Các nốt trong còn lại của T ứng với các nửa cạnh của Vor(P)
Xác định hình chữ nhật chứa các đỉnh của Vor(P)
Thêm các nửa cạnh và biên hình chữ nhật vào D
B4 Duyệt các nửa cạnh của D để bổ sung dữ liệu các mảnh Voronoi và các con trỏ liên quan
Trang 21Trang 22
XulySukienDiem(p i )
XulySukienDuongtron()
B1 Nếu T = Ø chèn pi vào T Ngược lại qua B2
B2 Tìm cung phía trên pi Nếu nốt lá ứng với chứa con trỏ đến sự kiện đường tròn
trong Q thì điểm sự kiện này là điểm sự kiện sai và được xóa khỏi Q
B3 Thay nốt lá ứng với bằng cây con có ba nốt lá Nốt lá giữa chứa điểm pi, hai nốt
lá còn lại chứa pj ứng với trước đó Lưu (pj, pi) và (pi, pj) ứng với 2 điểm gãy vào hai nốt trong mới Thực hiện cân bằng cây T nếu cần thiết
B4 Tạo bản ghi nửa cạnh của Vor(P) cho cạnh phân chia V(pi) và V(pj)
B5 Kiểm tra bộ ba cung liền kề với cung mới của pi là cung trái để kiểm tra sự hội tụ
của các điểm gãy Nếu điểm gãy hội tụ, chèn sự kiện đường tròn vào Q và thêm con trỏ liên kết nốt của T và nốt của Q Làm tương tự khi cung mới là cung phải
B1 Xóa nốt lá ứng với cung bị triệt tiêu khỏi T Cập nhất các bộ biểu diễn các điểm
gãy ở nốt trong Thực hiện cân bằng cây T nếu cấn thiết Xóa tất cả các sự kiện đường tròn liên quan đến khỏi Q thông qua các con trỏ của nốt cha và nốt con của
B2 Chèn tâm của đường tròn gây ra sự kiện vào D như một đỉnh của Vor(P) Tạo 2 nửa
cạnh ứng với điểm gãy mới của đường bờ biển Beach Line Chèn ba bản ghi của các nửa cạnh có điểm mút cuối là đỉnh vừa được chèn ở trên
B3 Xét bộ ba cung liền kề với cung trái của là cung giữa để kiểm tra sự hội tụ của
điểm gãy Nếu các điểm gãy hội tu, chèn điểm sự kiện đường tròn tương ứng vào Q
và thiết lập các con trỏ giữa sự kiện đường tròn và các nốt lá tương ứng trong T Làm tương tự với bộ ba cung liền kề với cung phải là cung giữa
Trang 22Trang 23
Chương 2 VORONOI CHO TẬP CÁC ĐƯỜNG TRÒN
Chương 1 đã trình bày về lược đồ Voronoi cho điểm Dựa trên cơ sở đó, từ một tập các điểm cho trước trong mặt phẳng, chương 2 mở rộng ra thành một tập các đường tròn cho trước trong mặt phẳng Khi tìm hiểu lược đồ Voronoi cho tập các đường tròn cho trước trong mặt phẳng, các đường tròn tiếp xúc với các đường tròn này luôn được tính toán Vì vậy, chương 2 sẽ trình bày cách phát sinh đường tròn tiếp xúc thông qua
“Vấn đề Apollonius thứ mười”
2.1 Vấn đề Apollonius thứ mười thông qua sự điều chỉnh bán kính
và Mobius chuyển đổi
Khoảng năm 200 Trước Công Nguyên, Apollonius của Perga - một nhà toán học
Hy Lạp nổi tiếng - tìm kiếm các đường tròn tiếp xúc cho ba đối tượng hình học, mỗi đối tượng này có thể là một điểm, một đường thẳng, hoặc một đường tròn Trong số mười trường hợp có thể tồn tại hoặc xảy ra, việc tính toán các đường tròn tiếp xúc với ba đường tròn cho trước thú vị nhất Vấn đề này được gọi là “Vấn đề Apollonius thứ mười”, chúng
ta thường xuyên gặp phải vấn đề này trong hình học
Ví dụ: Khi hình thành lược đồ Voronoi cho các đường tròn trong mặt phẳng, vị trí
của một đỉnh Voronoi có thể được tính bằng cách giải quyết “Vấn đề Apollonius thứ mười” được xác định bởi ba đường tròn phát cho trước Hình 2.1(a) cho thấy một trường hợp đơn giản: lược đồ Voronoi được xác định bởi ba đường tròn Trong hình này, đỉnh Voronoi (chấm đen), là điểm có các khoảng cách như nhau đến ba đường tròn, đỉnh này
là tâm của đường tròn Apollonius (đường tròn tiếp xúc)
Trong lược đồ Voronoi, có nhiều loại đường tròn Apollonius khác nhau tùy thuộc vào vị trí tương đối của các đường tròn Ví dụ: Hình 2.1(b) là trường hợp các đường tròn phát nằm bên ngoài đường tròn Apollonius, trong khi hình 2.1(c) cho thấy trường hợp khác: một trong ba đường tròn phát chứa đường tròn Apollonius Lưu ý rằng cả hai
Trang 23Luận văn sẽ trình bày thuật toán để tính toán tất cả các đường tròn Apollonius Trong luận văn, chúng ta sẽ không hạn chế kích thước và vị trí của các đường tròn, trừ trường hợp hai đường tròn trùng nhau Do đó, các đường tròn được phép cắt nhau và thậm chí một đường tròn có thể chứa các đường tròn khác Thuật toán này chủ yếu sử dụng Mobius chuyển đổi Các thuật toán đề xuất cách tính toán tất cả các trường hợp có thể xảy ra của đường tròn Apollonius
2.1.1 Cấu hình của đường tròn Apollonius
Trước khi tìm hiểu các cấu hình của đường tròn Apollonius, luận văn sẽ trình bày
về khái niệm của đường tròn Apollonius sau đây:
Đường tròn Apollonius là một đường tròn tiếp xúc với ba đường tròn và ba đường tròn này được gọi là bộ ba đường tròn phát Trong đó, ba đường tròn phát được kí hiệu là
Gi= (ci, ri), với i=0, 1 và 2 Tâm ci= (xi, yi) và bán kính ri Có thể giả định rằng, thứ tự của các đường tròn phát phụ thuộc vào bán kính của nó, tức là r0 ≤ r1 < r2
Hình 2.1 Lược đồ Voronoi cho tập các đường tròn và một đường tròn Apollonius
(đường tròn tiếp xúc) tương ứng với một đỉnh Voronoi
Trang 24Trang 25
“Vấn đề Apollonius thứ mười” đưa ra cách thức để tìm để tìm tất cả các đường tròn Apollonius đối với bất kỳ cấu hình nào của bộ ba đường tròn phát Trong đó, đường tròn phát G0, với bán kính nhỏ nhất, được gọi là đường tròn phát nhỏ nhất
Luận văn cung cấp một hệ thống liệt kê đầy đủ tất cả các trường hợp có thể xảy ra của một đường tròn Apollonius cho một thiết lập tùy ý (vị trí tùy ý) của ba đường tròn phát Mỗi trường hợp được gọi là cấu hình, xác định bởi vị trí tương đối của các đường tròn phát đối với một đường tròn Apollonius Định nghĩa 2.1 xác định mối quan hệ của một đường tròn đối với các đường tròn khác
Định nghĩa 2.1 Giả sử có hai đường tròn, một đường tròn tiếp xúc và một đường tròn
phát Khi đó, giá trị trạng thái quy định cho các đường tròn phát như sau:
(i) đường tròn phát được quy định là O, nếu đường tròn tiếp xúc và đường tròn
phát tiếp xúc ngoài với nhau,
(ii) đường tròn phát được quy định là X, nếu đường tròn phát nằm bên trong đường
X
O
Trang 25Trang 26
Giả sử, chúng ta áp dụng định nghĩa 2.1 để mỗi bộ phát tương ứng với đường tròn Apollonius của chính nó Nói cách khác, đặt một bộ phát gồm một đường tròn tiếp xúc và các đường tròn phát tương ứng Mỗi đường tròn phát được quy định tương ứng với một giá trị trạng thái là O, X hoặc ∆ Đặt đường tròn phát O, đường tròn phát X, hoặc đường tròn phát ∆ là các bộ phát với giá trị trạng thái tương ứng là O, X và ∆
Lưu ý rằng có 3x3x3=27 cấu hình khác nhau kể từ khi có ba đường tròn phát mà mỗi trường hợp này lại có ba giá trị trạng thái có thể có để phát sinh đường tròn Apollonius O, X và ∆ đại diện cho một cấu hình của một tập hợp gồm ba biểu tượng có thứ tự sắp xếp theo kích thước của các đường tròn phát, ba biểu tượng này được quy định
là biểu tượng đầu tiên, thứ hai và thứ ba của một cấu hình tương ứng với đường tròn phát nhỏ nhất, đường tròn phát nhỏ thứ hai và đường tròn phát lớn nhất
Ví dụ: Cấu hình OOX biểu thị cho trường hợp đường tròn Apollonius của ba
đường tròn phát mà ba đường trón phát này có hai đường tròn phát nhỏ và một đường tròn lớn
Thứ tự của các đường tròn phát luôn phụ thuộc vào bán kính của chúng, nghĩa là
ri< rj khi i< j Do đó, OOX, OXO và XOO biểu thị cho các cấu hình khác nhau Việc tính toán đường tròn Apollonius mong muốn là thật sự cần thiết và phụ thuộc vào các biểu tượng trong cấu hình Chi tiết cách tính toán được trình bày trong phần sau
Sau đây, 27 cấu hình trong việc thiết lập đường tròn phát được nhóm thành 10 bộ riêng biệt và được gọi là bộ phát vận hành bằng cách bỏ qua thứ tự giữa các đường tròn phát Vì vậy, một bộ phát vận hành cũng bao gồm một bộ ba các biểu tượng, ví dụ như OOO, OXO, OX∆, vv Nói cách khác, một bộ phát vận hành gồm ba biểu tượng biểu thị tất cả các cấu hình của đường tròn Apollonius
Hình 2.3 (c) Đường tròn phát chứa đường tròn tiếp xúc
∆
Trang 26Trang 27
Bộ phát Cấu hình Có thể phát sinh hay không
Trang 27Trang 28
Ví dụ: Một bộ phát vận hành OOX đại diện cho các cấu hình là OOX, OXO, và
XOO Bên cạnh đó, một bộ phát vận hành là OOX có bộ phát khai thác OXO và XOO
Lưu ý rằng có chỉ có thể có 10 bộ phát khai thác: OOO, OOX, OO∆, OXX, OX∆, O∆∆, XXX, XXD, X∆∆, và ∆∆∆
Tuy nhiên, một số cấu hình không thể phát sinh được Cột cuối cùng của bảng 2.1 cho thấy cấu hình đó có thể phát sinh được hay không
Định lý 2.1 Trong một cấu hình, X không thể theo sau ∆
Chứng minh
Giả sử: X theo sau ∆ đại diện cho một cấu hình cho trước đường tròn phát X lớn hơn đường tròn phát ∆ (X>∆) (1)
Theo định nghĩa 1, đường tròn phát ∆ lớn hơn đường tròn Apollonius tương ứng
do đường tròn phát ∆ chứa đường tròn Apollonius (∆>Apollonius) (2)
Do định lý 2.1, ngay lập tức có các hệ quả sau:
Hệ quả 2.1 Trong số 27 khả năng, 7 cấu hình sau không thể có: ∆XO, O∆X, ∆OX, X∆X,
∆XX, ∆∆X, và ∆X∆
2.1.2 Mobius chuyển đổi
Để thuận tiện cho việc tính toán các đường tròn Apollonius đối với ba đường tròn phát, phải tìm kiếm đường tròn tiếp xúc với hai đường tròn và đường tròn tiếp xúc này đi qua một điểm
Biến đổi này được thực hiện thông qua việc điều chỉnh (mở rộng hoặc thu nhỏ) bán kính của đường tròn phát cho trước, được gọi là quá trình biến đổi điều chỉnh bán kính
Độ rộng bán kính điều chỉnh tương ứng với độ rộng bán kính của đường tròn phát nhỏ nhất
Trang 28Có thể có bốn đường tròn tiếp xúc như trong hình 2.2
Hình 2.2 (a) thể hiện cho các trường hợp giao điểm z0 nằm bên ngoài cả 2 đường tròn Z1 và Z2 trong khi z0 trong hình 2.2 (b) nằm bên trong Z1 và nằm ngoài Z2
Lưu ý: Trong cả hai hình 2.2 (a) và (b), chỉ có nhiều nhất là bốn đường tròn tiếp
xúc
Do sự biến đổi này, chúng ta có ba mặt phẳng hai chiều tương đương như sau:
Mặt phẳng O: mặt phẳng Euclide ban đầu để tìm các đường tròn Apollonius
Mặt phẳng Z: mặt phẳng phức điều chỉnh bán kính
Mặt phẳng W: mặt phẳng phức ánh xạ bởi W(z)
Nếu chúng ta áp dụng định nghĩa 1 để điều chỉnh bán kính Z1 và Z2, thì các vị trí tương đối của đường tròn tiếp xúc T đối với cả hai đường tròn Z1 và Z2 có thể được ký hiệu như sau:
Định nghĩa 2.2 Đặt Tij là đường tròn tiếp xúc với cả hai đường tròn điều chỉnh bán kính
Z1 và Z2 với giá trị trạng thái i và j tương ứng, khi đó i, j ∈ (O, X, ∆)
Ví dụ: Trong hình 2.3(a), TOX biểu thị cho trường hợp đường tròn tiếp xúc tiếp xúc ngoài với Z1 đồng thời nó tiếp xúc trong với Z2 và chứa Z2
Trong ví dụ ở hình 2.3(a), có thể có nhiều đường tròn tiếp xúc cho một cấu hình
nhất định, trong khi một cấu hình chỉ có một đường tròn tiếp xúc duy nhất Ví dụ: Trường
hợp có hai đường tròn tiếp xúc là ∆ (hoặc ∆ ) thể hiện trong hình 2.3(b)
Xét một mặt phẳng phức Z với z = x+iy Khi đó, hàm W(z)=u(x, y) + iv(x, y) là
một ánh xạ tương ứng, ngoại trừ tại các điểm mà đạo hàm (z) bằng không
Trang 29Trang 30
Hình 2.3 Đường tròn tiếp xúc đi qua z 0 và tiếp xúc với cả 2 đường tròn Z 1 và Z 2 (a) giao điểm nằm
ngoài Z 1 và Z 2 , (b) giao điểm nằm bên trong Z 1
Luận văn chỉ xem xét chuyển đổi Mobius định nghĩa bởi W(z) =1/(z-z0) Biết rằng, W(z) ánh xạ các đường tròn và đường thẳng trong mặt phẳng Z thành các đường tròn và đường thẳng trong mặt phẳng W
Bổ đề sau đây được cung cấp mà không phải chứng minh
Bổ đề 2.1 Mobius chuyển đổi W(z) =1/(z-z0) có các thuộc tính sau:
Nó biến đổi các đường thẳng và các đường tròn đi qua trong mặt phẳng Z thành các đường thẳng trong mặt phẳng W
Nó biến đổi các đường thẳng và các đường tròn không đi qua trong mặt phẳng Z thành các đường tròn trong mặt phẳng W
Nó biến đổi các điểm ở vô cực trong mặt phẳng Z thành đường tròn nguồn trong mặt phẳng W
Nó biến đổi điểm trong mặt phẳng Z thành điểm vô cực trong mặt phẳng
W
Bổ đề 2.1 phát biểu rằng ánh xạ W(z) =1/(z- ) biến đổi Z1 và Z2 trong mặt phẳng
Z thành đường tròn W1 và W2 trong mặt phẳng W
Trang 30Trang 31
Trong hình 2.4, ánh xạ W(z) áp dụng cho các trường hợp trong hình 2.3 Các đường tròn tiếp xúc trong hình 2.3 được ánh xạ thành đường thẳng tiếp tuyến đến cả hai đường tròn W1 và W2 trong hình 2.4, khi các đường tròn tiếp xúc đi qua
Định nghĩa 2.3 Giả sử có một đường tròn tiếp xúc, tiếp xúc với một đường thẳng, được
gọi là đường thẳng tiếp tuyến Thì đường thẳng tiếp tuyến được quy định với một giá trị trạng thái như sau:
(i) Đường thẳng tiếp tuyến được quy định là O, nếu đường tròn tiếp W và nguồn
O nằm trong cùng một nửa mặt phẳng có bờ là đường thẳng tiếp tuyến, khi đường tròn W không chứa nguồn O,
Hình 2.4 Các đường tron tiếp xúc trong hình 2.3 được ánh xạ thành các đường thẳng tiếp tuyến
(ii) Đường thẳng tiếp tuyến được quy định là X, nếu đường tròn W nằm trong nửa mặt phẳng đối diện với nửa mặt phẳng chứa nguồn O có bờ là đường thẳng tiếp tuyến,
(iii) Đường thẳng tiếp tuyến được quy định là ∆, nếu nguồn O nằm trong đường tròn tiếp xúc
giá trị trạng thái i và j tương ứng, trong đó i, j ∈ (O, X, ∆)
Ví dụ:
Đường thẳng tiếp tuyến trong hình 2.4(a) chỉ ra rằng W1,W2 và nguồn O đều nằm trong cùng một nửa mặt phẳng có bờ là đường thẳng tiếp tuyến
Trang 31đường thẳng tiếp tuyến với W1 và W2 trong mặt phẳng W Trong đó: i, j ∈ (O, X, ∆)
Giải thích tương tự có thể được áp dụng cho trường hợp của ∆ Khi đường tròn tiếp xúc được chứa trong một đường tròn Z cho trước, các đường tròn vô cực và Z được đặt trong cùng một mặt phẳng, bên ngoài đường tròn tiếp xúc, đối với T∆ Tuy nhiên, trong trường hợp này, đường tròn Z ánh xạ tới một đường tròn W chứa nguồn O trong mặt phẳng W khi z0 được chứa trong Z Lưu ý rằng bên trong đường tròn Z ánh xạ tới bên ngoài đường tròn W khi vô cực và z0 được ngăn cách bởi đường tròn Z ở cùng một thời gian vô cùng trong mặt phẳng Z được ánh xạ tới nguồn trong mặt phẳng W Do vậy, đường tròn W chứa nguồn O và cả W và O nằm trong nửa mặt phẳng có bờ là đường
Chúng ta nên xem xét cả hai đường tròn Z1 và Z2 cùng một lúc Tuy nhiên, vấn đề này có thể được giải quyết không mấy khó khăn bằng cách xem xét Z1 và Z2 một cách độc lập
Trang 32Trang 33
Ví dụ: Các vấn đề của việc tìm đường tròn , , đến Z1 tại cùng thời điểm TX
đến Z2, có thể được giải quyết bằng cách tìm đường tròn tiếp xúc , đến W1 tại cùng thời điểm đến W2
Có thể dễ dàng thấy rằng W(z) ánh xạ các đường tròn Zi= (zi, ri) thành các đường tròn Wi= (wi, Ri) được định nghĩa là Wi = ((xi-xo)/di,-(yi-y0)/di) , Ri=ri/|di| và d=(xi - x0)2 + (yi - y0)2 - ri
2.1.3 Biến đổi điều chỉnh bán kính
Trong phần này, luận văn giải thích cách thức để chuyển đổi vấn đề đường tròn Apollonius thành vấn đề tìm kiếm một đường tròn tiếp xúc với hai đường tròn khi nó đi qua một điểm
Như đã định nghĩa trong phần trước, có ba mặt phẳng: mặt phẳng O, mặt phẳng Z
và mặt phẳng W Để có được một biến đổi thích hợp đến mặt phẳng Z, bán kính của các đường tròn phát phải được điều chỉnh, bằng cách mở rộng hoặc thu nhỏ lại, việc điều chỉnh bán kính này được gọi là điều chỉnh ban đầu
Khi một đường tròn tiếp xúc được tìm thấy, đường tròn Apollonius tương ứng thu được bằng cách điều chỉnh bán kính của đường tròn xúc Điều chỉnh bán kính thứ hai này được gọi là hoàn tất điều chỉnh
Trước tiên, thu nhỏ đường tròn phát nhỏ nhất thành một điểm để điểm này đóng vai trò là một tiếp điểm Sau đó, đường tròn phát khác được thu nhỏ hoặc mở rộng cùng kích thước của đường tròn phát nhỏ nhất tùy thuộc vào giá trị trạng thái được quy định cho các đường tròn phát
Sau đây, luận văn sẽ trình bày một quy tắc xác định việc điều chỉnh bán kính
Trang 33Trang 34
Minh họa cho mỗi hình vẽ trong hình 2.5 là hai đường tròn phát (đường tròn đậm nét liền) và một đường tròn Apollonius mong muốn (đường tròn đậm nét đứt) cho một cấu hình
Lưu ý: Đường tròn nhỏ nhất trong ba đường tròn phát được hiển thị trong hình và
chia thành ba trường hợp để tiện việc theo dõi
Trong hình 2.5 (a), (b) và (c) là các trường hợp giá trị trạng thái của đường tròn phát nhỏ nhất là O Tương tự như vậy, hình 2.5 (d), (e) và (f) là những trường hợp mà các đường tròn phát nhỏ nhất có giá trị trạng thái là X Hình 2.5 (g) và (h) là những trường hợp đường tròn phát nhỏ nhất có giá trị trạng thái là ∆
Hình 2.5 Quy tắc điều chỉnh bán kính: (a), (b) và (c) đường tròn phát nhỏ nhất là O; (d), (e) và (f)
đường tròn phát nhỏ nhất là X; (g) và (h) đường tròn phát nhỏ nhất là ∆
Trang 34Trang 35
Hãy xem xét hình 2.5 (a), khi cả hai đường tròn G0 và G có giá trị trạng thái là O
Để tìm một đường tròn tiếp xúc đi qua một điểm, ta thu nhỏ đường tròn phát nhỏ nhất G0
thành điểm z0 Các đường tròn Apollonius mong muốn chỉ có thể được tìm thấy bằng cách thu nhỏ đường tròn tiếp xúc T0 trong hình Trong trường hợp này, giá trị trạng thái của G là O và G đã được thu nhỏ trong quá trình biến đổi điều chỉnh ban đầu
Những trường hợp trong hình 2.5 (b) và (c) tương tự như trong hình 2.5 (a), nghĩa
là đường tròn Apollonius chỉ thu được bằng cách thu nhỏ đường tròn tiếp xúc đã được tính toán Tuy nhiên, chúng khác nhau nghĩa là các đường tròn nhiều chấm nên được mở rộng từ G Lưu ý rằng giá trị trạng thái của G trong hình 2.4 (b) và (c) tương ứng với X
và ∆
Trong hình 2.5 (d), (e) và (f), giá trị trạng thái của G0 trong các hình này đều là X Trong mỗi trường hợp, đường tròn Apollonius thu được bằng cách thu hẹp đường tròn tiếp xúc T tương ứng Trong hình 2.5 (d), G được mở rộng để thu được đường tròn nhiều chấm Mặt khác, G được thu nhỏ để có được những đường tròn nhiều chấm như trong hình 2.5 (e) và (f) Lưu ý rằng G trong hình 2.5 (d), (e) và (f) tương ứng với O, X và ∆
Hình 2.5 (g) cho thấy trường hợp một đường tròn Apollonius nằm bên trong đường tròn phát nhỏ nhất G0 và tiếp xúc với nó, trong khi nó tiếp xúc ngoài với đường tròn phát khác Do đó, bán kính của đường tròn Apollonius phải nhỏ hơn bán kính r0 của đường tròn phát nhỏ nhất G0 Do đó, cấu hình của G0 là ∆
Khi đường tròn Apollonius nằm trong đường tròn phát nhỏ nhất G0, để biến đổi đường tròn tiếp xúc thành một đường tròn Apollonius hợp lệ tương ứng, luôn luôn thu nhỏ bán kính của đường tròn tiếp xúc bằng độ rộng mà G0 thu nhỏ Cũng cần lưu ý rằng đường tròn tiếp xúc sau khi thu nhỏ luôn luôn có bán kính âm Lưu ý: đường tròn phát G được mở rộng bằng độ mà G0 bị thu nhỏ Trong cấu hình ban đầu, G0 và G có giá trị trạng thái tương ứng là ∆ và O Quá trình G0 thu nhỏ của và G mở rộng xảy ra đồng thời Khi
đó, đường tròn tiếp xúc thu nhỏ thành một điểm zX tại một số thời điểm và sau đó được
mở rộng lần nữa Lưu ý rằng zX tương ứng với tâm của T và r0 =rT + rA, với rA là bán kính của đường tròn Apollonius
Trang 35Trang 36
Do định lý 2.1, cần lưu ý là có thể không có đường tròn phát X cho các trường hợp trong hình 2.5 (g) và (h) Trong các trường hợp này, đường tròn Apollonius có thể ngay lập tức được tính bằng cách biến đổi các giá trị trạng thái của đường tròn phát giữa O và
∆ Sau đó, áp dụng quá trình tính toán đã được thảo luận cho các trường hợp trong hình 2.5 (a) và (c) Đường tròn Apollonius được tính toán cuối cùng luôn luôn có bán kính với giá trị âm và được đổi dấu lại để có được một đường tròn Apollonius hợp lệ
Sau khi đã thu được đường tròn tiếp xúc đúng, việc điều chỉnh bán kính của nó một cách thích hợp để tìm thấy đường tròn Apollonius tương ứng hợp lệ là cần thiết Tùy thuộc vào điều kiện, được thể hiện trong quy tắc ngắn gọn sau, đường tròn tiếp xúc nên được mở rộng hoặc thu nhỏ
Khi đường tròn phát nhỏ nhất có giá trị trạng thái là O thể hiện trong hình 2.5 (a), (b) và (c), chúng ta nên mở rộng đường tròn tiếp xúc với độ rộng bằng bán kính của đường tròn phát nhỏ nhất khi đường tròn phát nhỏ nhất nằm bên ngoài đường tròn tiếp xúc
Trong hình 2.5 (d), (e) và (f), các đường tròn phát nhỏ nhất có giá trị trạng thái của
X Trong trường hợp này, bán kính của đường tròn tiếp xúc nên được thu nhỏ để có đường tròn Apollonius mong muốn hợp lệ
Khi giá trị trạng thái của đường tròn phát nhỏ nhất là ∆, như minh hoạ trong hình 2.5 (g) và (h), chúng ta nên thu nhỏ đường tròn tiếp xúc Tuy nhiên, việc thu nhỏ đường tròn tiếp xúc trong trường hợp này luôn luôn có bán kính âm và kết quả sẽ được đổi dấu một lần nữa để có được đường tròn Apollonius hợp lệ Vì đường tròn tiếp xúc được tính toán cho một vấn đề với các giá trị trạng thái thay đổi thay vì vấn đề ban đầu nên đường tròn Apollonius đúng có thể được tính trước tiên là thu nhỏ bán kính đường tròn tiếp xúc bằng độ rộng bán kính của đường tròn phát nhỏ nhất, và thứ hai là đổi dấu của nó từ âm sang dương
c Quy tắc điều chỉnh
Các trường hợp liên quan đến quá trình điều chỉnh ban đầu và hoàn tất đều chỉnh được tổng hợp và tóm tắt thành một tập các quy tắc ngắn gọn như sau:
Trang 36Trang 37
Quy tắc 2.1 (Quy tắc điều chỉnh bán kính) Phụ thuộc vào giá trị trạng thái của đường
tròn phát nhỏ nhất, quy tắc điều chỉnh bán kính được áp dụng tính toán và theo bán kính của đường tròn phát nhỏ nhất
Nếu giá trị trạng thái của đường tròn phát nhỏ nhất là O, thì thu nhỏ tất cả các đường tròn phát O đồng thời phóng to tất cả các đường tròn phát X và ∆ Khi
đã có các đường tròn tiếp xúc, phóng to đường tròn tiếp xúc để có được những đường tròn Apollonius mong muốn
Nếu giá trị trạng thái của đường tròn phát nhỏ nhất là X, thu nhỏ tất cả các đường trón phát X và ∆, đồng thời phóng to tất cả các đường tròn phát O Khi
đã có các đường tròn tiếp xúc, thu nhỏ đường tròn tiếp xúc để có được những đường tròn Apollonius mong muốn
Nếu giá trị trạng thái của đường tròn phát nhỏ nhất là ∆, thu nhỏ tất cả các đường tròn phát ∆ đồng thời chúng tôi phóng to tất cả đường tròn phát O Lưu ý rằng một đường tròn phát X không thể tồn tại khi đường tròn phát nhỏ nhất là ∆ Khi đã có các đường tròn tiếp xúc, thu nhỏ đường tròn tiếp xúc và đổi dấu của bán kính
Các thảo luận đến thời điểm này đã điều chỉnh bán kính bằng cách xem xét chỉ với hai đường tròn phát Tuy nhiên, vấn đề ban đầu xem xét ba đường tròn phát tại cùng một thời điểm Việc tìm kiếm các đường tròn Apollonius bằng cách xem xét ba đường tròn phát không mấy khó khăn Bằng cách tìm đường tròn phát nhỏ nhất và áp dụng các quy tắc trên cho cả G1 và G2 một cách độc lập, chúng ta có thể có được những đường tròn Apollonius mong muốn mà không gặp nhiều khó khăn Toàn bộ thủ tục cho việc tính toán Đường tròn Apollonius được cung cấp bởi thuật toán sau đây, quy tắc điều chỉnh bán kính và đường thẳng tiếp tuyến tương ứng cho mỗi đường tròn phát được tóm tắt trong bảng 2.2
Trang 37Đường thẳng tiếp tuyến tương ứng
Hoàn tất quá trình điều chỉnh (đối với đường tròn tiếp xúc)
Trang 38Ví dụ 1: Giả sử có một cấu hình cho trước là OX∆ và đường tròn phát là Gi= (ci,
ri), i=0, 1, và 2, khi r0≤ r1≤ r2 Theo quy tắc 1, đường tròn phát X và ∆, tương ứng với G1
và G2, nên được mở rộng khi giá trị trạng thái của đường tròn phát nhỏ nhất là O Kết quả
là, một giao điểm z0≡c0 và thu được hai đường tròn điều chỉnh bán kính tương ứng là Z1 = (c1, r1 + r0) và Z2 = (c2, r2 + r0) Sau đó, Z1 và Z2 được chuyển thành W1 và W2 trong mặt phẳng W tương ứng với W(z) Sau khi tính toán đường thẳng tiếp tuyến tương ứng LX∆
trong mặt phẳng W, chúng tôi biến đổi lại đường thẳng tiếp tuyến vào mặt phẳng Z để thu được các đường tròn tiếp xúc Cuối cùng, chúng tôi có thể tính toán đường tròn
Input: G0, G1, G2, và cấu hình của đường tròn Apollonius mong muốn (ở cột B trong bảng 2.2)
Output: Một đường tròn Apollonius đã được tính
Thuật toán:
B1 Điều chỉnh bán kính của các đường tròn phát theo cột C trong bảng 2.2, có
được Z1, Z2 và z0
B2 Biến đổi Z1 và Z2 vào trong mặt phẳng W bằng ánh xạ W(z)
B3 Tính toán đường thẳng tiếp tuyến tương ứng của W1 và W2 trong mặt phẳng
Trang 39Trang 40
Hình 2.6 Tập các đường tròn cho trước trong mặt phẳng
Apollonius bằng cách điều chỉnh bán kính của đường tròn tiếp xúc như đã giải thích trong các quy tắc
Ví dụ 2: Khi cấu hình cho trước là XO∆, chúng ta thu nhỏ đường tròn phát ∆-G1,
và mở rộng đường tròn phát O-G2, bởi quy tắc 1 Tiếp theo, chúng ta biến đổi Z1 =(c1, r1– r0) và Z2 =(c2, r2 – r0) thành W1 và W2 trong mặt phẳng W Sau đó, tính toán đường thẳng tiếp tuyến tương ứng ∆ Sau khi tính toán đường thẳng tiếp tuyến, chúng ta biến đổi đường thẳng tiếp tuyến vào mặt phẳng Z để có được đường tròn tiếp xúc ∆ Trong bước cuối cùng, ta điều chỉnh bán kính của đường tròn tiếp xúc để có được những đường tròn Apollonius mong muốn cho X∆O
Ví dụ 3: Khi cấu hình cho trước là ∆O∆, chúng ta phóng to đường tròn phát O và
thu nhỏ đường tròn phát ∆ bằng các quy tắc tương tự Sau khi biến đổi hai đường tròn Z1
= (c1, r1 + r0) và Z2 = (c2, r2 + r0) thành W1 và W2 vào trong mặt phẳng W, chúng ta tính
toán đường thẳng tiếp tuyến ∆ Lưu ý rằng khi cấu hình của đường tròn phát nhỏ nhất
là ∆, ta trao đổi biểu tượng O và ∆ Cuối cùng, sau khi tính toán các đường tròn tiếp xúc
∆ bằng cách biến đổi ∆ vào mặt phẳng Z, điều chỉnh bán kính của đường tròn tiếp xúc và đổi dấu của bán kính được tính
2.2 Thuật toán dòng quét xây dựng lược đồ Voronoi cho tập các đường tròn trong mặt phẳng
Sau khi đã tìm hiểu cách phát sinh đường tròn
tiếp xúc cho bộ ba đường tròn phát, luận văn sẽ tiếp
tục trình bày về thuật toán dòng quét xây dựng lược đồ
Voronoi cho những đường tròn trong mặt phẳng
2.2.1 Giới thiệu chung về thuật toán
Cho một tập các đường tròn bán kính không
âm, bán kính của các đường tròn không nhất thiết phải
bằng nhau Các đường tròn được đặt tùy ý để chúng có
thể cắt nhau, thậm chí có trường hợp đường tròn nằm trong đường tròn
Khi đó, luận văn sẽ trình bày cách xây dựng lược đồ Voronoi cho tập các đường tròn trên
Trang 40Trang 41
Trước tiên, luận văn sẽ giới thiệu định nghĩa về lược đồ Voronoi cho tập các đường tròn trong mặt phẳng
Định nghĩa 2.5 Lược đồ Voronoi cho tập các đường tròn cho trước được xây dựng bằng
thuật toán dòng quét Dòng quét là một đường thẳng nằm ngang, di chuyển từ trên xuống Khi di chuyển, dòng quét chỉ dừng tại những điểm, mà ở điểm đó, cấu trúc của lược đồ
Voronoi sẽ được xây dựng thêm
Độ phức tập của thuật toán này là
0((n+m)log n)
Với n: số đường tròn cho trước
m là số giao điểm giữa các đường tròn
cắt nhau
Chúng ta sẽ xác định tập những điểm bất
kỳ sao cho những điểm đó nằm gần với một
đường tròn cho trước, khi đó, tập hợp tất cả các
điểm nằm gần đường tròn cho trước đó được
gọi là một vùng Voronoi tương ứng với đường
tròn đó Tập hợp tất cả các vùng Voronoi lại
với nhau tạo thành một khảm lát thì gọi là lược
đồ Voronoi của một tập các đường tròn cho
trước
Trong những nghiên cứu trước thì chỉ
có quan hệ một-một giữa một đường tròn
Voronoi và một vùng Voronoi Nói cách khác,
một đường tròn chỉ định nghĩa lên một vùng
Voronoi tương ứng Bởi vậy, khi có trường
hợp, hai đường tròn cắt nhau, thì cạnh của
Voronoi chỉ được định nghĩa là nằm bên ngoài
của cả hai đường tròn đó
Hình 2.8: Một đường tròn tham gia vào 2 vùng Voronoi, 2 đường tròn tham gia vào 4
vùng voronoi
Hình 2.7: Bốn vùng Voronoi được lát với nhau tạo thành lược đồ Voronoi cho 2 đường tròn g 1 , g 2