Phương pháp xây dựng TIN

Một phần của tài liệu Mô hình hóa bản đồ ba chiều và ứng dụng (Trang 58)

a. Sơ đồ Voronoi

- Sơ đồ Voronoi:

Hãy tưởng tượng bản đồ phân bổ các cột điện thoại của một thành phố như trên hình 2.41. Mỗi máy điện thoại sẽ được nối với cột gần nhất, do vậy ta phải chia thành phố thành các vùng, mỗi vùng có duy nhất một cột và khoảng cách từ mỗi vị trí trong vùng đến cột trong vùng đó là ngắn nhất. Kết quả của phân hoạch này là sơ đồ Voronoi.

Hình 2.41: Bản đồ các cột điện thoại của thành phố [5]

Sơ đồ vừa nêu trên được Peter Lejeune-Dirichlet đề cập đến lần đầu vào 1850. Nhưng đến 1908 sơ đồ này mới được Voronoi viết trên giấy và từ đó mang tên sơ đồ Voronoi. Ta có thể định nghĩa tóm tắt sơ đồ Voronoi như sau:

x p x p x j i

p

V( i) : i   j  ,  (2.1)

Gọi Pp1,p2,...,pn là tập các điểm trong mặt phẳng Euclidean hai chiều. Gọi

của nó cho vị trí gần nó nhất. Toàn bộ các điểm được gán cho pi hình thành vùng Voronoi V pi . V pi bao gồm mọi điểm gần vị trí pi hơn bất kỳ vị trí nào khác:

Trong đó, một số điểm không chỉ có một vị trí (hay láng giềng) gần nhất. Tập các điểm có nhiều láng giềng gần hơn hình thành sơ đồ Voronoi V(P). Đường bao giữa hai vùng Voronoi thì được gọi là sườn (cạnh) Voronoi. Một điểm là giao của ba hay nhiều hơn cạnh Voronoi thì gọi là đỉnh Voronoi. Cặp vị trí đủ gần nhau để chia sẻ cạnh Voronoi và tồn tại vòng tròn đi qua hai vị trí nhưng không chứa bên trong chúng một vị trí nào khác thì gọi là cặp vị trí liên quan

Sơ đồ Voronoi của hai vị trí. Hãy xem xét hai vị trí p1 và p2. Gọi

p1,p2 B12

B  là đường phân giác vuông góc với đoạn p1, p2. Ta có tính chất là mọi điểm x trên B12 đều cách đều từ p1 và p2 (hình 2.42) hay p1xp2x .

Sơ đồ Voronoi của ba vị trí. Các vị trí p1, p2 và p3 trên hình 2.44 tạo thành

tam giác; sơ đồ này chứa các đường phân giác vuông góc B12, B23 và B31. Theo Euclid thì chúng gặp nhau tại một điểm; đó là tâm của đường tròn duy nhất đi qua ba đỉnh tam giác. Như vậy, sơ đồ Voronoi của ba điểm được mô tả là một điểm trên hình 2.43

Hình 2.42: Sơ đồ Voronoi của hai vị trí [5]

Hình 2.43: Sơ đồ Voronoi của ba vị trí [5]

Nửa mặt phẳng. Gọi Hpi,pj là nửa mặt phẳng tạo thành từ đường phân giác

ij

B và chứa pi. Sau đó, Hpi,pj được xem như tập các điểm gần pi hơn pj. Mặt khác, như nói trên, thì V pi là tập các điểm gần pi hơn bất cứ vị trí nào khác. Như vậy ta có thể viết phương trình sau:

     j i j i i H p p p V   , (2.2)

Ký pháp trên (2.2) mô tả phép giao được thực hiện cho mọi ij, trừ trường hợp ij. Biểu thức này cho thấy vùng Voronoi là lồi vì giao của các nửa mặt phẳng là tập lồi.

Sơ đồ Voronoi của nhiều vị trí. Thí dụ trên hình 2.44 là sơ đồ có nhiều vị trí. Sơ đồ Voronoi có nhiều ứng dụng trong các lĩnh vực khác nhau. Do vậy có nhiều nghiên cứu nhằm đưa ra các thuật toán mới để tính toán sơ đồ này như thuật toán giao các nửa mặt phẳng, kiến trúc tăng dần, chia để trị và thuật toán Fortune. Trong hệ thông tin địa lý, sơ đồ Voronoi được áp dụng để hình thành các chức năng như biến đổi đối tượng raster sang véc tơ nhờ kỹ thuật tìm xương; xây dựng tam giác Delaunay trong mô hình lưới tam giác không đều (TIN), …

Hình 2.44: Sơ đồ Voronoi với 20 vị trí [5]

Hình 2.45: Sơ đồ Voronoi và cấu trúc TIN [5]

- Tam giác Delauney:

Mỗi tam giác trong TIN phải thoả mãn tiêu thức Delauney. Năm 1934

Delauney đã chứng minh rằng: nếu nối từng cặp vị trí (sites) trong sơ đồ Voronoi

có hai đa giác Voronoi của chúng cùng chia sẻ một cạnh Voronoi bởi đoạn thẳng thì ta có các tam giác của những vị trí. Ta nói rằng các tam giác này thoả mãn tiêu thức Delauney (tam giác Delauney) khi vòng tròn ngoại tiếp của chúng không bao bất kỳ điểm dữ liệu (vị trí) nào khác (hình 2.45).

Có nhiều thuật toán xây dựng TIN, luận văn này sẽ giới thiệu hai thuật toán: Thuật toán "Greedy insertion" xây dựng các tam giác Delauney và thuật toán Norm của tiến sĩ Norm Jones trường đại học Prigham Young University. (adsbygoogle = window.adsbygoogle || []).push({});

b. Thuật toán Greedy insertion

Thuật toán “greedy insertion” sinh ra tập tam giác delaunay mới bằng cách thêm dần từng điểm vào tập tam giác Delaunay của bước trước. Có hai phương thức thực hiện thuật toán. Phương thức mà mỗi bước thêm vào một điểm gọi là

greedy insertion liên tiếp (sequential), phương thức mà mỗi bước thêm vào nhiều

điểm gọi là greedy insertion song song. Ở đây ta chỉ mô tả thuật toán Greedy insertion liên tiếp.

Vào: n điểm p1, ..., pn trong mặt phẳng Euclidean

Ra: Các tam giác T của tập điểm P

Các thủ tục:

MESH_INSERT(Point p): xác định tam giác chứa điểm đưa vào, chia tam giác thành ba phần và kiểm tra đệ quy mỗi cạnh ngoài của tam giác này để xác định tập tam giác mới thoả mãn tiêu thức Delaunay.

MESH_LOCATE(Point p): tìm tam giác trong tập tam giác Delaunay chứa điểm p

LOCATE_AND_INTERPOLATE(Point p): xác định tam giác chứa p và thực hiện nội suy ERROR(Point p)

// trả về lỗi tại điểm p

return (H(p) – LOCATE_AND_INTERPOLATE(p)) INSERT(Point p)

Đánh dấu p đã được sử dụng MESH_INSERT(p)

Làm với tất cả các điểm q trong tam giác liên quan với p Cache[q]  ERROR(q)

Cache là mảng chứa các giá trị lỗi được liệt kê theo tập điểm ban đầu GOAL_MET: điều kiện kết thúc thuật toán

Thuật toán chính:

GREEDY_INSERT()

Khởi đầu tập tam giác Delaunay với hai tam giác tạo bởi 4 đỉnh của hình chữ nhật bao tập điểm đã cho.

For all input point p Do

Cache[p]  ERROR(p) Endfor

While not GOAL_MET() Do best  Null maxerror  0

For all input point p Do err  Cache[p] If err > maxerr Then

maxerr  err best  p Endif Endfor INSERT(best) Endwhile

Hình 2.46: Một bước trong thuật toán greedy insertion [5]

Trong hình 2.46:

(a) Điểm A sắp được insert vào tam giác ZBD

(b) Tứ giác ABCD bao quanh cạnh nghi ngờ BD được kiểm tra bằng đường tròn. Đường tròn ngoại tiếp BCD chứa A, vì vậy cạnh BD không hợp lệ

(c) Sau khi quay cạnh BD thành AC, các cạnh BC và CD trở thành nghi ngờ. Đa giác ZBCD là vùng duy nhất của mạng lưới bị thay đổi

c. Thuật toán Norm

Đây là thuật toán khá đơn giản và dễ cài đặt (adsbygoogle = window.adsbygoogle || []).push({});

Vào: Tập điểm trong mặt phẳng Euclidean

Ra: Mô hình TIN của tập điểm

Bƣớc 1: Loại bỏ các điểm trùng nhau (đối với các điểm trùng nhau chỉ giữ lại 1 đại diện).

Bƣớc 2: Tìm giá trị lớn nhất và nhỏ nhất của các tọa độ x, y, từ đó xây dựng tam giác chứa tất cả các đỉnh đầu vào (tam giác bao).

Bƣớc 3: Kết nạp các điểm vào TIN. Lặp lại các bước 4-6 cho đến khi tất cả các điểm được đưa vào TIN.

Bƣớc 4: Với một điểm khảo sát, tìm tam giac chứa điểm này trong các tam giác đã được tạo. Nếu điểm khảo sát nằm trong 1 tam giác thì tam giác này sẽ trở thành tam giác vào cho bước tiếp theo. Nếu điểm khảo sát nằm trên cạnh chung của 2 tam giác kề nhau thì cả hai tam giác này sẽ trở thành tam giác vào cho bước tiếp theo.

Bƣớc 5: Từ một điểm trong tam giác vào, chia tam giác thành 3 (hoặc 4 khi điểm nằm trên cạnh) thành tam giác nhỏ hơn.

Hình 2.49: Tạo các tam giác đều để đưa vào TIN [5]

Bƣớc 6: Kiểm tra mỗi tam giác mới có thoả mãn điều kiện Delauney hay không. Nếu thoả mãn chuyển sang bước 7, nếu không thoả mãn đổi chỗ các cạnh của các tam giác láng giềng (liền kề) và kiểm tra lại điều kiện Delauney. Tiếp tục cho đến khi tất cả các tam giác thoả mãn điều kiện Delauney.

Hình 2.50: Kiểm tra điều kiện Delauney [5]

Bƣớc 7: Lặp lại từ bước 4 đến bước 6 cho đến khi tất cả các điểm được đưa vào lưới tam giác.

Bƣớc 8: Xoá tất cả các đỉnh của tam giác bao được tạo ra trong bước 2, đồng thời xoá tất cả các tam giác nối tới các đỉnh của tam giac bao và kết thúc.

CHƢƠNG 3: BẢN ĐỒ ĐỊA HÌNH BA CHIỀU VÀ CÀI ĐẶT THỬ NGHIỆM 3.1. Giới thiệu

Xu hướng phát triển các hệ thống thông tin địa lý (GIS) những năm gần đây tập trung nhiều hơn vào việc phát triển các ứng dụng GIS trên nền Web. Ranh giới giữa các phần mềm GIS phát triển trên nền desktop và phần mềm GIS phát triển trên nền Web đang dần thu hẹp. Các ứng dụng trên môi trường mạng chứng tỏ có ưu thế lớn đối với thông tin không gian. Ngày nay, công nghệ phần cứng đã có những bước phát triển mạnh, do vậy năng lực xử lý của máy tính, không gian lưu trữ dữ liệu, bộ nhớ trong không còn là vấn đề lớn, chúng ta có thể đầu tư một hệ thống máy chủ mạnh có khả năng đáp ứng được các nhu cầu về xử lý đối với các hệ thống GIS lớn. Bởi vậy, xu hướng phát triển các ứng dụng GIS, trong đó có các ứng dụng GIS trên không gian ba chiều là xu hướng tất yếu và khả thi, công nghệ web và hạ tầng mạng giúp cho các ứng dụng không gian ba chiều được truy cập rộng rãi hơn..

Bản đồ địa hình, đặc biệt là bản đồ địa hình ba chiều là hệ thống bản đồ nền quan trọng là nguồn dữ liệu đầu vào của nhiều bài toán ứng dụng và có ứng dụng trong nhiều ngành, nhiều lĩnh vực.

Phần đầu của chương này, tác giả giới thiệu tổng quan về bản đồ địa hình ba chiều bao gồm: các khải niệm cơ bản, nội dung của bản đồ địa hình ba chiều, các nguyên tắc biểu diễn và các phương pháp thành lập bản đồ địa hình ba chiều.

Trên cơ sở các nghiên cứu tổng quan về bản đồ địa hình ba chiều, các công nghệ cài đặt. Phần tiếp theo tác giả cài đặt thử nghiệm ứng dụng mô hình hóa bản đồ địa hình ba chiều trên nền Web của khu vực trung tâm Thành phố Hà Nội. Cuối chương là những nhận xét, đánh giá và đưa ra những bài học kinh nghiệm.

Một phần của tài liệu Mô hình hóa bản đồ ba chiều và ứng dụng (Trang 58)