Chỉ dùng cho Điểm trong Đa giác:
Tôi nghĩ vấn đề này dựa trên "bản chất fractal" của các đối tượng 2d và sự phân phối không chắc chắn và không cân bằng của thông tin không gian. Nếu bạn có một lưới thông thường, thật dễ dàng để xác định vị trí hoặc mối quan hệ của một ô. Nhưng một isoline của mô hình địa hình có thể có các phần không phức tạp ở phía bên kia và các phần phức tạp về mặt toán học ở phía bên kia (các phần hoạt động hình thái nằm trên các rặng núi, thung lũng ...).
Lập chỉ mục cố gắng xử lý hai điều:
Một thói quen nhanh cung cấp cho bạn một nhóm xô trong đó bạn thu thập các đối tượng mà bạn có thể phân biệt không gian (các thùng!). Và BBoxes rất dễ tính toán và xử lý.
Một tập hợp các quan hệ (chồng chéo, chạm) để phân biệt hoặc liên quan đến các công cụ không gian (các đối tượng).
Thật không may, BBoxes sẽ không cung cấp cho bạn manh mối, mỗi BBox có bao nhiêu điểm, các vật thể được tạo hình như thế nào (lỗ, lồi, ...) và cách thông tin được phân phối cục bộ (90% số điểm ở góc trên bên trái của BBox). Vì vậy, bạn có thể tìm thấy các thành viên hoạt động nhanh ở cấp độ đối tượng và mất nhiều thời gian trong việc xây dựng mối quan hệ của thử nghiệm.
Để sử dụng một cách tiếp cận bất thường hơn, tam giác IMO kết hợp với và tứ giác là một trong các chiến lược, trong đó bạn có thể mang phần xô và phần xây dựng quan hệ của một chỉ mục gần nhau hơn (bucketing == xây dựng quan hệ).
Đối với ví dụ Kiểm tra điểm đa giác, có thể xây dựng bộ đệm không đều bằng cách sử dụng:
- ! tam giác delaunay bị ràng buộc của bìa poly của bạn, với các điểm lưới viền bổ sung để phát hiện ra bên ngoài nắp
- đưa điều này vào sơ đồ lập chỉ mục tứ giác với không quá N tam giác trên mỗi hộp (xô fractal)
- tìm tập tam giác mà điểm thuộc về - lá trong tứ giác
- tìm tam giác trong đó điểm nằm (phần kiểm tra trên tam giác N tối đa)
- và yêu cầu ID đa giác của các đỉnh tam giác
- nếu ID là duy nhất thì điểm thuộc về đa giác, nếu không thì nó nằm ngoài
Chi phí để xây dựng thiếc và tứ giác rất cao và khó tính toán và tứ giác phải cân bằng các hình tam giác lớn và nhỏ (hình tam giác sẽ không vừa trong các hộp phụ nhỏ hơn).
Một số công cụ và liên kết:
Tam giác - Tam giác ràng buộc đa giác
Quadtrees - Với các ví dụ nguồn
Kho lưu trữ Stony Brook - Cấu trúc dữ liệu và hình học rời rạc