Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Đồ thị đường thẳng phẳng (PSLGs) trong Cấu trúc dữ liệu

Trong hình học tính toán (computational geometry), đồ thị đường thẳng phẳng (planar straight-line graph - PSLG) (hay đồ thị phẳng đường thẳng, hoặc đồ thị đường thẳng phẳng) là thuật ngữ dùng cho việc nhúng (embedding) một đồ thị phẳng (planar graph) vào mặt phẳng sao cho các cạnh của nó được ánh xạ thành các đoạn thẳng (straight line segments). Định lý Fáry (1948) khẳng định mọi đồ thị phẳng đều có loại nhúng này.

Trong hình học tính toán, PSLG thường được gọi là phân chia phẳng (planar subdivisions), với giả định hoặc khẳng định các phân chia là đa giác (polygonal).

Nếu không có đỉnh bậc 1, một PSLG xác định một phân chia của mặt phẳng thành các vùng đa giác và ngược lại. Vắng mặt đỉnh bậc 1 đơn giản hóa mô tả các thuật toán, nhưng không bắt buộc.

Các biểu diễn bản đồ khác nhau có thể được phục vụ bởi PSLG, ví dụ: bản đồ địa lý trong hệ thống thông tin địa lý (GIS).

PSLG có một số trường hợp đặc biệt. Các trường hợp đặc biệt là thước phân (triangulations) (thước phân đa giác, thước phân tập điểm). Thước phân tập điểm là PSLG tối đa (maximal) vì không thể thêm cạnh thẳng vào chúng mà vẫn giữ đồ thị phẳng. Thước phân có nhiều ứng dụng trong nhiều lĩnh vực.

PSLG có thể nhìn như một loại đặc biệt của đồ thị Euclid (Euclidean graphs). Hơn nữa, trong thảo luận về đồ thị Euclid, quan tâm chính là thuộc tính metric (khoảng cách giữa đỉnh), trong khi đối với PSLG quan tâm chính là thuộc tính topo (topological). Đối với một số đồ thị, như thước phân Delaunay, cả thuộc tính metric và topo đều quan trọng.

Đồ thị đường thẳng phẳng (PSLGs) trong Cấu trúc dữ liệu

Biểu diễn (Representations)

PSLG được biểu diễn bởi ba cấu trúc dữ liệu nổi tiếng. Chúng là cấu trúc dữ liệu Winged-edge, Halfedge, và Quadedge. Winged-edge là cũ nhất trong ba, nhưng thao tác trên nó thường cần phân biệt trường hợp phức tạp. Lý do là tham chiếu cạnh không lưu hướng cạnh, và hướng các cạnh quanh một mặt không nhất quán. Halfedge data structure lưu cả hai hướng của cạnh và liên kết chúng đúng, đơn giản hóa thao tác và lược đồ lưu trữ. Quadedge data structure lưu đồng thời phân chia phẳng và đối ngẫu (dual) của nó. Bản ghi của nó chỉ bao gồm rõ ràng các bản ghi cạnh, bốn cho mỗi cạnh, và dạng đơn giản hóa nó hữu ích cho lưu trữ PSLG.