1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tam giác phân delaunay (delaunay triangulation)

20 2,4K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 726,94 KB

Nội dung

Tam giác phân delaunay (delaunay triangulation)

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Hình học tính toán

ĐỀ TÀI 7

Tam giác phân Delaunay (Delaunay Triangulation)

Giảng viên hướng dẫn: Huỳnh Thị Thanh Bình

Nhóm 2

Hà Nội, tháng 4 - 2014

MỤC LỤC

Trang 2

Lời nói đầu

Trong toán học cũng như hình học tính toán, tam giác phân Delaunay (Delaunay Triangulation) là một cấu trúc quan trọng và có nhiều ứng dụng thực tế Nó được coi là cấu trúc đối ngẫu của biểu đồ Voronoi (Voronoi Diagram) cho nên nó kế thừa tất cả những thuộc tính đáng quan tâm của loại biểu đồ này Ngoài ra, tam giác phân Delau nay tự nó còn có những thuộc tính đặc biệt khác Chính vì vậy, trong khi học học phần Hình học tính toán này, chúng em đã quyết định chọn đề tài 7 nghiên cứu về Tam giác phân Delaunay làm đề tài bài tập lớn Trong báo cáo này, chúng em sẽ áp dụng tam giác phân Delaunay vào một bài toán cụ thể, đó là mô hình hóa một phần bề mặt địa hình Trái Đất

Nội dung báo cáo gồm 3 phần chính:

- Phần 1: Giới thiệu sơ lược về biểu đồ Voronoi

- Phần 2: Giới thiệu tam giác phân của một tập điểm trên mặt phẳng ứng dụng trong giải bài toán mô hình hóa một phần bề mặt Trái Đất và một trường hợp riêng của nó: Tam giác phân Delaunay

- Phần 3: Xây dựng tam giác phân Delaunay cho bài toán mô hình hóa một phần bề mặt Trái Đất

Do thời gian nghiên cứu trình độ hiện tại của nhóm có hạn nên chắc chắn trong quá trình thực hiện đề tài không tránh khỏi những sai lầm, thiếu sót cả về nội dung lẫn hình thức Trong quá trình nghiên cứu, chúng em đã nhận được sự chỉ bảo, giúp đỡ tận tình của

cô Huỳnh Thị Thanh Bình cũng như các bạn sinh viên cùng lớp, để có thể hoàn thành báo cáo này Chúng em xin chân thành cảm ơn!

Trang 3

Chương 1 Giới thiệu sơ lược về biểu đồ Voronoi

1 Biểu đồ Voronoi

Biểu đồ Voronoi là một trong những cấu trúc quan trọng nhất của hình học tính toán, thường được dùng để mã hóa thông tin lân cận Cho là tập các điểm trên mặt phẳng hay bất kỳ không gian n chiều khác Ta cũng gọi các điểm này là site Gọi là ô Voronoi của site , là tập các điểm q nằm trên mặt phẳng mà gần hơn các site khác

Ta cũng có thể định nghĩa ô Voronoi dựa trên khái niệm giao của các nửa mặt phẳng Cho 2 site , , tập các điểm gần hơn tạo nên một nửa mặt phẳng mở với đường bao là đường trung trực của cạnh Ký hiệu nửa mặt phẳng này là , Dễ thấy một điểm q nằm trên nếu và chỉ nếu q nằm trong phần giao nhau của các , với Vì giao của các nửa mặt phẳng

là một đa giác lồi nên cũng là đa giác lồi (ngoại trừ các điểm nằm trên bao lồi của P là không có bao đóng)

Ta định nghĩa biểu đồ Voronoi của tập điểm P là những gì còn lại của mặt phẳng sau khi đã loại bỏ hết các ô Voronoi (không tính biên của chúng) Ký hiệu làVor(P) Dễ thấy, biểu đồ Voronoi chứa một tập các đoạn thẳng và các tia

Hình 1.1 Biểu đồ Voronoi

2 Một số tính chất của biểu đồ Voronoi

a Phức hợp Voronoi

Biểu đồ Voronoi là một phức hợp các ô mà các mặt là các đa giác lồi Mỗi điểm A trên cạnh của biểu đồ Voronoi cách đều ít nhất hai láng giềng gần nhất của nó là , Tồn tại một đường tròn tâm A đi qua và không có một site nào khác nằm trong đường tròn này (Hình 1.2a)

Trang 4

Hình 1.2: Các tính chất của biểu đồ Voronoi

b Đỉnh Voronoi

Đỉnh Voronoi là nơi ba ô Voronoi , , giao nhau Đỉnh này cách đều cả ba site do đó là tâm của đường tròn đi qua 3 site và không chứa thêm site nào khác bên trong nó(Hình 1.2b)

c Bậc

Từ 3 điểm trên mặt phẳng ta xác định được một đường tròn Nếu ta giả thiết về trường hợp tổng quát rằng không có 4 điểm nào nằm cùng trên một đường tròn thì tất cả các đỉnh

Voronoi đều có bậc là ba

d Bao lồi

Một ô của biểu đồ Voronoi là không khép kín nếu và chỉ nếu site tương ứng nằm trên bao lồi (khi đó site này là điểm gần nhất so với các điểm ở vô cực) của P Vì vậy, ta dễ dàng trích xuất được bao lồi trong thời gian tuyến tính

e Kích thước

Nếu gọi n là số site thì biểu đồ Voronoi là một đồ thị phẳng với đúng n mặt Theo công thức Euler thì số đỉnh voronoi gần bằng 2n và số cạnh không ít hơn 3n + 1

3 Định lý quan trọng của biểu đồ Voronoi

Định lý được phát biểu như sau:

Định lý 1.1 Cho P là tập điểm trong mặt phẳng và Vor(P) là biểu đồ Voronoi của P, ta

có:

a. Một điểm q là đỉnh của Vor(P) nếu và chỉ nếu đường tròn rỗng lớn nhất của nó chứa không ít hơn 3 site trên biên của nó

b. Đường trung trực d của đoạn (site ) chứa cạnh của Vor(P) nếu và chỉ nếu có một điểm q d sao cho chỉ đi qua , và không chứa site nào khác bên trong Trên đây là một số tính chất chung nhất của biểu đồ Voronoi Ở chương sau, ta sẽ nghiên cứu khái niệm tam giác phân của một tập điểm trên mặt phẳng và cấu trúc đối ngẫu của biểu đồ Voronoi là tam giác phân Delaunay

Trang 5

Chương 2 Tam giác phân của một tập điểm trên mặt phẳng và Tam giác phân Delaunay

1 Tam giác phân của một tập điểm trên mặt phẳng

Cho là tập các điểm trong mặt phẳng Ta định nghĩa phép chia mặt phẳng cực đại là

phép chia sao cho không thể thêm vào một cạnh nào nối hai đỉnh mà không phá vỡ tính phẳng Nói cách khác, bất cứ cạnh nào không thuộc vào cắt một trong số các cạnh đã tồn

tại Một phép tam giác phân của P được định nghĩa là một phép chia mặt phẳng cực đại

với tập đỉnh là P

Với định nghĩa trên, rõ ràng một tam giác phân là tồn tại Do mọi mặt bị giới hạn đều là

đa giác và mọi đa giác đều có thể thực hiện tam giác phân nên mỗi mặt ngoại trừ mặt không bị giới hạn đều là tam giác Còn với các mặt không bị giới hạn, không khó để chỉ ra rằng bất kì đoạn thẳng nào nối hai điểm liên tiếp nhau trên biên của bao lồi của P đều là

cạnh của một tam giác phân nào đó Điều này ngụ ý rằng hợp của các mặt không giới hạn thường là phần bù của bao lồi Số tam giác (và số cạnh) trong các phép tam giác phân P là

như nhau Số lượng chính xác phụ thuộc vào số điểm của P nằm trên biên của bao lồi của

P theo định lý sau:

Định lý 2.1 Cho P là một tập n điểm không thẳng hàng trong mặt phẳng k là số điểm của P nằm trên biên của bao lồi của P Khi đó, bất kì phép tam giác phân nào của P cũng đều có 2n – 2 – k tam giác và 3n – 3 – k cạnh.

Chứng minh: Gọi là một tam giác phân của P, m là số lượng tam giác của , là số mặt

của phép tam giác phân và bằng Mọi tam giác đều có 3 cạnh và các mặt không bao có k

cạnh Ngoài ra, mỗi cạnh đều thuộc về 2 mặt Do đó, tổng số cạnh của là: Theo công thức Euler:

Thay giá trị theo n và k, theo m vào công thức ta có: và

Gọi là một tam giác phân của P và giả thiết nó có m tam giác Xét 3m góc của các tam giác của , sắp xếp chúng theo thứ tự tăng dần Gọi là dãy các góc kết quả với giá trị

tăng dần, với Gọi là véctơ góc của Gọi là một phép tam giác phân khác của tập điểm P

và là véctơ góc tương ứng Ta nói rằng véctơ góc của lớn hơn véctơ góc của nếu theo thứ tự từ điển lớn hơn Nói cách khác, nếu tồn tại chỉ số i, với 1 i 3m sao cho :

Kí hiệu:

Trang 6

Một tam giác phân được gọi là tối ưu góc nếu với mọi tam giác phân của P Dưới

đây, ta sẽ tìm hiểu khi nào một tam giác phân là tối ưu góc Trước tiên, ta nhắc lại định lý Thales quen thuộc Gọi góc nhỏ hơn tạo bởi 3 điểm p, q, r là

Định lý 2.2 Cho C là một đường tròn, là đường thẳng cắt C ở 2 điểm a và b Có 4

điểm p, q, r và s nằm về cùng một nửa mặt phẳng bờ Giả sử p và q nằm trên đường tròn

C, r nằm bên trong C và s nằm bên ngoài C Khi đó:

Hình 2.1: Minh họa định lý 2.2

Xét cạnh của tam giác phân của P Nếu e không phải cạnh nằm trên bao lồi của P, nó

là cạnh của 2 tam giác và Nếu 2 tam giác trên tạo thành một tứ giác lồi, chúng ta có thể tạo ra một tam giác phân mới bằng cách loại bỏ cạnh khỏi và chèn cạnh vào thay thế

Chúng ta gọi thao tác này là flip cạnh Điểm khác biệt duy nhất giữa véctơ góc của và là

sáu góc trong được thay thế bởi sáu góc trong Hình bên dưới minh hoạ điều nàỵ

Hình 2.3: Flip một cạnh

Chúng ta gọi cạnh là cạnh không hợp lệ nếu:

Nói cách khác, một cạnh là không hợp lệ nếu chúng ta có thể tăng góc nhỏ nhất một cách cục bộ bằng cách flip cạnh Nhận xét sau đây rút ra được từ định nghĩa cạnh không hợp lệ

Nhận xét 2.3 Cho là một tam giác phân có một cạnh không hợp lệ ẹ Cho là tam giác phân thu được từ bằng cách flip cạnh ẹ Khi đó, ) > Ặ

Trang 7

Có thể thấy rằng không cần thiết phải tính toán các góc , để kiểm tra cạnh đã cho có hợp lệ hay không Thay vào đó, chúng ta có thể sử dụng tiêu chuẩn đơn giản trong bổ đề bên dưới đây Sự đúng đắn của bổ đề được chứng minh bằng định lý Thales

Bổ đề 2.4 Cho cạnh là cạnh chung của 2 tam giác và Gọi C là đường tròn ngoại tiếp tam giác Cạnh là không hợp lệ nếu và chỉ nếu điểm nằm ở bên trong đường tròn C Ngoài ra, nếu các điểm và tạo ra một tứ giác lồi và không cùng nằm trên một đường tròn thì chắc chắn có một cạnh hoặc là cạnh không hợp lệ.

Chú ý rằng tiêu chuẩn này là đối xứng đối với và : nằm trong đường tròn ngoại tiếp tam giác nếu và chỉ nếu nằm trong đường tròn ngoại tiếp tam giác Khi tất cả 4 điểm

cùng nằm trên một đường tròn, cả và đều hợp lệ Chú ý rằng 2 tam giác chung nhau 1

cạnh không hợp lệ phải ghép thành một tứ giác lồi Điều kiện này đảm bảo luôn thực hiện flip được cạnh không hợp lệ

Chúng ta định nghĩa một tam giác phân hợp lệ là một tam giác phân không chứa bất kì

cạnh không hợp lệ nào Từ nhận xét ở trên, có thể thấy rằng bất kì tam giác phân tối ưu góc nào cũng là hợp lệ Tìm ra một tam giác phân hợp lệ khá đơn giản nếu chúng ta có một tam giác phân khởi đầu Chúng ta đơn giản flip các cạnh không hợp lệ cho đến khi tất cả các cạnh đều hợp lệ Thuật toán tìm tam giác phân hợp lệ được miêu tả như sau:

Algorithm LEGALTRIANGULATION()

Input Một tam giác phân bất kì của tập điểm P.

Output Một tam giác phân hợp lệ của P.

while chứa cạnh không hợp lệ

do (* Flip cạnh *)

Cho và là 2 tam giác có chung cạnh

Xoá cạnh khỏi và thêm cạnh thay thế vào

return

Thuật toán này có tính dừng vì theo Nhận xét 1.3, véctơ góc của tăng lên sau mỗi

bước lặp của thuật toán Bởi vì chỉ có một số hữu hạn các tam giác phân khác nhau của P

nên thuật toán tính dừng Một khi thuật toán kết thúc, kết quả sẽ là một tam giác phân hợp

lệ Mặc dù thuật toán nói trên có tính dừng, tuy nhiên, nó quá chậm để áp dụng trên thực

tế Chúng ta sẽ để thuật toán này qua một bên Sau cùng, ta sẽ cần đến một thủ tục tương

tự Nhưng đầu tiên, ta sẽ tìm một cách tiếp cận hoàn toàn khác, hoặc có vẻ như khác biệt.2

2 Bài toán mô hình hóa một phần bề mặt Trái Đất

Ta mô hình một phần bề mặt Trái Đất bằng địa hình (terrain) Địa hình là một bề mặt 2

chiều trong không gian 3 chiều với một thuộc tính đặc biệt: Mỗi đường thẳng đứng sẽ cắt địa hình tại một điểm nếu như đường thẳng đứng cắt không gian 3 chiều trên thực tế Nói cách khác, địa hình là đồ thị của hàm

sao cho là chiều cao ứng với mọi điểm trong miền A của địa hình.

Trang 8

Hình 2.4: Khung nhìn phối cảnh của địa hình

Dĩ nhiên, ta không biết hết độ cao của mọi điểm trên Trái Đất mà chỉ có được độ cao

đó nơi ta đo đạc Nghĩa là, khi nói về địa hình, ta chỉ biết giá trị hàm f của một tập hữu hạn các điểm mẫu Từ độ cao của những điểm mẫu này, bằng cách nào đó ta phải lấy xấp xỉ độ cao của các điểm khác trong miền Một cách đơn giản là gán cho mọi điểm độ cao của điểm mẫu gần nhất Tuy nhiên, cách này làm cho địa hình bị rời rạc, trông thiếu tự nhiên

Do đó, ta cần có một phương pháp xấp xỉ tốt hơn

Hình 2.5: Gióng các điểm mẫu lên độ cao tương ứng

Đầu tiên, ta xác định một phép tam giác phân tập là một phép chia mặt phẳng thành

các mặt có biên hình tam giác với các đỉnh là các điểm của P (giả thiết các điểm mẫu này

đủ để tạo ra các tam giác phủ kín toàn bộ địa hình) Sau đó, ta gióng các điểm mẫu lên độ cao của chúng, bằng cách này, ta có thể ánh xạ mọi tam giác trong tam giác phân thành

tam giác trong không gian 3 chiều (Hình 2.5) Cái ta thu được là một địa hình đa diện, một

đồ thị của một hàm liên tục tuyến tính từng khúc Ta có thể sử dụng địa hình đa diện như là một xấp xỉ của địa hình gốc

Một câu hỏi cần được đặt ra: Ta sẽ thực hiện phép tam giác phân các điểm mẫu như thế nào? Nhìn chung, có nhiều cách khác nhau Nhưng cách nào là cách phù hợp nhất với mục

đích của chúng ta, xấp xỉ một địa hình? Không có một câu trả lời rõ ràng Ta không biết địa

hình gốc, ta chỉ biết độ cao của các điểm mẫu Vì không có thêm thông tin gì, và độ cao ở

Trang 9

các điểm mẫu là độ cao đúng cho bất kỳ phép tam giác phân nào, tất cả các phép tam giác phân dường như đều tốt như nhau Tuy nhiên, một số phép tam giác phân nhìn vẫn tự nhiên hơn Ví dụ như hình 3 dưới đây cho thấy 2 phép tam giác phân của cùng một tập điểm mẫu:

Hình 2.6: Hai cách flip một cạnh khác nhau có thể dẫn đến thay đổi rất lớn

Nhìn vào độ cao của các điểm mẫu thì có thể hình dung ra các điểm này biểu thị một đỉnh núi Phép tam giác phân (a) biểu thị đúng trực giác này Tuy nhiên phép tam giác phân b, thay vì nối cạnh giữa 2 điểm có độ cao 980 và 990 nó lại nối cạnh giữa 2 điểm có

độ cao 10 và 36 khiến ta có cảm giác có một thung lũng cắt ngang đỉnh núi Bằng trực giác, ta có thể thấy nó sai Ta có thể biến trực giác này thành tiêu chuẩn đánh giá phép tam giác phân (a) tốt hơn phép tam giác phân (b) hay không?

Vấn đề của phép tam giác phân (b) đó là độ cao của điểm q được xác định bới 2 điểm tương đối xa nhau Điều này xảy ra khi q nằm ở giữa cạnh của một tam giác dài và nhọn

Độ mỏng của tam giác là nguyên nhân của vấn đề Vì vậy, có vẻ như một phép tam giác phân mà có những góc quá nhỏ là không tốt Do đó, ta sẽ xếp hạng các phép tam giác phân theo góc nhỏ nhất của các tam giác có trong chúng Nếu 2 phép tam giác phân có góc nhỏ nhất là bằng nhau thì sẽ xét đến góc nhỏ thứ 2 và lặp lại với các góc nhỏ thứ n khác Vì chỉ

có một số hữu hạn các phép tam giác phân với một tập điểm P cho trước nên với phương pháp này, chúng ta sẽ thu được một tam giác phân tốt nhất với góc nhỏ nhất là lớn nhất trong tất cả Đây chính là tam giác phân chúng ta cần tìm

Trang 10

3 Tam giác phân Delaunay

Hình 2.7: Đồ thị đối ngẫu của Vor(P)

Cho P là một tập n điểm (site) Ở chương 1 ta đã nhắc đến biểu đồ Voronoi của P là một cách chia mặt phẳng thành n vùng, mỗi vùng tương ứng với 1 site của P sao cho vùng của site chứa tất cả các điểm trong mặt phẳng gần với site p hơn so với các site khác Kí

hiệu biểu đồ Voronoi của P là Vor(P) Vùng của site p được gọi là ô Voronoi của p, kí hiệu là Trong phần này, chúng ta sẽ tìm hiểu về đồ thị đối ngẫu của biểu đồ Voronoi Đồ thị G này có một nút ở mỗi ô Voronoi, tương ứng với một site, và có một cung giữa hai nút nếu các ô tương ứng có chung một cạnh Điều này có nghĩa là tương ứng với mỗi cạnh của

Vor(P) là một cung của G Ở trong hình bên trên, ta có thể thấy có một tương ứng một –

một giữa các cung của G và các cạnh của Vor(P)

Hình 2.8: Đồ thị Delaunay của DG(P)

Trang 11

Ở hình này, các cung được chuyển thành các đoạn thẳng Nút tương ứng với ô Voronoi

Ѵ(p) là điểm p, và cung nối các nút thuộc Ѵ(p) và Ѵ(q) là đoạn Chúng ta gọi đồ thị đối

ngẫu này là đồ thị Delaunay của P và kí hiệu là DG(P) (Mặc dù tên nghe như tiếng Pháp,

đồ thị Delaunay không liên quan gì với họa sĩ người Pháp Nó được đặt tên theo tên nhà toán học Nga Бориис Николаиевич Делонеи (chuyển ngữ sang tiếng Anh là Boris Nikolaevich Delone) - người tìm ra nó Dịch ra tiếng Anh là vậy nhưng, nhưng do cuốn sách của ông xuất bản bằng tiếng Pháp- mà thời điểm đó, ngôn ngữ của khoa học là tiếng Pháp và tiếng Đức, nên tên của ông được chuyển ngữ sang tiếng Pháp) Đồ thị Delaunay của một tập điểm có một số tính chất đặc biệt Tính chất đặc biệt đầu tiên đó là nó luôn là

đồ thị phẳng: Không có 2 cạnh nào của đồ thị cắt nhau

Định lý 2.5 Đồ thị Delaunay của một tập điểm trên mặt phẳng là một đồ thị phẳng.

Chứng minh Để chứng minh điều này, chúng ta cần xét đến tính chất của các cạnh

trong biểu đồ Voronoi trong Định lý 1.1b theo thuật ngữ của đồ thị Delaunay:

Cạnh thuộc đồ thị Delaunay DG(P) nếu và chỉ nếu có một đường tròn đi qua và và không có một site nào khác của P nằm trong nó (Tâm của một đường tròn như thế nằm trên cạnh chung của và )

Hình 2.6: Đường tròn có tâm nằm trên cạnh chung của và

Gọi là tam giác với các đỉnh , và tâm của Cạnh nối và tâm của trong tam giác nằm trong ; tương tự, cạnh nối và tâm của nằm trong Gọi là một cạnh khác của DG(P) và

định nghĩa đường tròn và tam giác tương tự như và

Giả sử, và cắt nhau Vì và nằm ngoài nên chúng cũng nằm ngoài Tương tự, phải cắt cạnh đi qua tâm của tam giác Điều đó chứng tỏ, một trong hai cạnh chứa tâm đường tròn của tam giác (giả dụ là a) phải cắt Tương tự, một trong hai cạnh chứa tâm đường tròn của tam giác (giả dụ là b) cũng phải cắt Suy ra, hai cạnh a và b phải cắt nhau Điểm cắt nhau sẽ thuộc về 2 ô Voronoi Ѵ phân biệt Điều này trái với lập luận các cạnh a, b thuộc về một ô Voronoi duy nhất

Đồ thị Delaunay của tập điểm P là một trong 2 đồ thị của đồ thị đối ngẫu của biểu đồ

Ngày đăng: 26/10/2015, 22:53

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w