Mô hình biểu diễn dữ liệu

Một phần của tài liệu Phát triển các mô hình và thuật toán biểu diễn, xử lý, khai thác dữ liệu không gian và ứng dụng giải một số bài toán GIS (Trang 31 - 37)

Việc chọn lựa cấu trúc dữ liệu phù hợp để biểu diễn các đối tượng không gian đóng vai trò rất quan trọng ảnh hưởng đến độ phức tạp thuật toán. Người ta thường sử dụng một số cấu trúc dữ liệu không gian thông dụng dưới đây trong quá trình biểu diễn lưới tam giác. Khái niệm mặt trong các cấu trúc dưới đây hiểu là các đa giác. Trong trường hợp khảo sát cụ thể ở đây thì mặt được hiểu là tam giác.

 Cấu trúc Winged-Edge  Cấu trúc Quad-Edge

 Cấu trúc Winged-Edge rút gọn  Cấu trúc Triangle Neighbor

2.3.2.1. Cu trúc d liu Winged-Edge

Cấu trúc Winged-Edge được đưa ra bởi В. Baumgart trong công trình [41] . Cấu trúc này sử dụng các cạnh để giữ tất cả các vết. Mỗi cạnh chứa những thông tin sau:

 Các đỉnh của cạnh này.  Mặt bên trái và mặt bên phải.

 Cạnh liền trước và cạnh liền sau cạnh này khi duyệt mặt bên trái của nó.  Cạnh liền trước và cạnh liền sau cạnh này khi duyệt mặt bên phải của nó. Chiều của cạnh xác định vị trí tương đối của các mặt kề: bên trái hoặc bên phải. Chiều của các mặt quyết định thứ tự các cạnh khi duyệt, thông thường là ngược chiều kim đồng hồ. Khi chiều cạnh thay đổi các thông tin cần phải được cập nhật lại tương ứng.

Ngoài bảng cạnh, cấu trúc Winged-Edge còn có thêm hai bảng nữa: bảng các đỉnh và bảng các mặt. Bảng đỉnh chứa thông tin về đỉnh (vị trí, định danh điểm) và một cạnh gắn với nó (có thể chọn một cạnh bất kỳ trong số các cạnh gắn với nó). Bảng mặt chứa thông tin về các mặt (định danh mặt) và một trong số các cạnh biên của nó.

Hình 2.7.Cấu trúc Winged-Edge

Cạnh Các đỉnh Các mặt Duyệt trái Duyệt phải Tên Đầu Cuối Trái Phải Trước Sau Trước Sau

b

Bảng 2.1. Bảng mô tả quan hệgiữa các đốitượng trong Winged-Edge

Với cấu trúc dữ liệu này, ta có thể dễ dàng trả lời các câu hỏi: các đỉnh nào, các cạnh nào, các mặt nào kề với mỗi mặt, mỗi cạnh và mỗi đỉnh. Nó có thể trả lời những câu hỏi này rất hiệu quả và một số thậm chí có thể trả lời trong thời gian hằng số. Tuy nhiên nó cần nhiều thời gian để trả lời các câu truy vấn kề khác. Chú ý rằng, một khi số đỉnh, số cạnh và số đỉnh được xác định thì kích thước của cả ba bảng này cố định và không thay đổi.

1 2

Các đỉnh Các Mặt Bên trái Bên phải

Tên Đầu Cuối Trái Phải Trước Sau Trước Sau

Bảng 2.2. Ví dụ mô tả quan hệgiữa các đốitượng tam giác trong Winged-Edge

2.3.2.2. Cu trúc d liu Quad-Edge

Cấu trúc này được phát minh bởi Guibas và Stolfi[9] , tuy phức tạp về mặt trừu tượng nhưng giúp đơn giản hóa rất nhiều các thao tác thuật toán khi xây dựng lưới tam giác. Trong cấu trúc Quad-Edge có 3 bảng mô tả cấu trúc đỉnh, cạnh, mặt và bảng cạnh đóng vai trò trung tâm. Các cạnh lưu các thông tin topology đầy đủ để có thể tham chiếu đến các đỉnh và các mặt liên quan. Quad-Edge là cấu trúc lưu trữ thông tin tham chiếu đến 2 mặt, 2 đỉnh và 4 cạnh. 4 cạnh được lưu trữ là các cạnh bắt đầu từ hai đỉnh và gắn vào hai mặt đã lưu trữ.

Thông thường, giao tiếp với cấu trúc Quad-Edge thông qua cạnh có hướng. Điều này cho phép xác định một cách rõ ràng tên gọi cho một đỉnh là nút đầu, một đỉnh là nút cuối, một mặt là mặt trái và mặt kia là mặt phải theo hướng nhìn từ nút đầu đến nút cuối. 4 cạnh của cấu trúc Quad-Edge cũng có tên gọi là cạnh trái nút đầu, cạnh trái nút cuối, cạnh phải nút đầu và cạnh phải nút cuối. Các thao tác cơ bản trên cấu trúc Quad-Edge được mô tả chi tiết trong công trình [9] .

Hình 2.10. Lưới tam giác biểudiễnbằngcấu trúc Quad-Edge

Cạnh Các đỉnh Các Mặt Bên trái Bên phải

Tên SN EN LF RF LEoSN LEoEN REoSN REoEN

Bảng 2.3. Bảng mô tả quan hệgiữa các đốitượng trong Quad-Edge

2.3.2.3. Cu trúc Winged-Edge rút gn

Trong cấu trúc Winged-Edge rút gọn biểu diễn mối tương quan giữa 3 đối tượng đỉnh, cạnh và mặt:

Thông tin cạnh: Cạnh trái và cạnh phải nối mỗi cạnh với các cạnh lân cận. Cạnh phải là cạnh đầu tiên nhất nối tới đỉnh cuối được bắt gặp khi quay quanh đỉnh này theo hướng ngược chiều kim đồng hồ. Cạnh trái là cạnh đầu tiên nhất nối tới đỉnh đầu được bắt gặp khi quay quanh đỉnh này theo hướng ngược chiều kim đồng hồ.

Thông tin mặt: Khi có sự hiện diện của mặt, mặt trái và mặt phải được thêm vào thông tin của cạnh cơ sở. Tùy thuộc theo hướng của cạnh và mặt được xác định.

Hình 2.11. Cấu trúc Winged-Edge mở rộng

Cấu trúc Winged-Edge thu gọn tiết kiệm bộ nhớ hơn so với cấu trúc Winged- Edge kinh điển do mỗi cạnh được bỏ bớt đi các tham chiếu đến hai cạnh nối và nó vẫn cho phép thực hiện dễ dàng cài đặt các phép toán topology cơ bản. Các thao tác cơ bản có thể xem chi tiết ở trong [40] .

Hình 2.12. Lưới tam giác biểudiễnbằngcấu trúc Winged-Edge thu gọn

Các đỉnh Các Mặt Các cạnh

Tên Đầu Cuối Trái Phải Trái Phải

Bảng 2.4. Bảng mô tả quan hệgiữa các đốitượng trong Winged-Edge thu gọn

2.3.2.4. Cu trúc tam giác lân cn (Triangle Neighbor)

Hình 2.13. Cấu trúc tam giác lân cận

Bảng 2.5. Bảng mô tả quan hệ giữa các đốitượng trong Triangle Neighbor

Trong cấu trúc tam giác lân cận biểu diễn giữa 2 đối tượng đỉnh và tam giác:  Thông tin đỉnh: Mỗi đỉnh trỏ tới tam giác lân cận.

Thuật toán xây dựng lưới tam giác Delaunay cài đặt sử dụng cấu trúc này thường có tốc độ nhanh hơn khoảng 2 lần so với các cấu trúc trên nhưng lại kém hiệu quả khi áp dụng cho thuật toán xây dựng lưới tam giác Delaunay ràng buộc.

Một phần của tài liệu Phát triển các mô hình và thuật toán biểu diễn, xử lý, khai thác dữ liệu không gian và ứng dụng giải một số bài toán GIS (Trang 31 - 37)

Tải bản đầy đủ (PDF)

(175 trang)