Lưới không cấu trúc có vị trí của họ.
Bạn có thể muốn xem xét Khung mô hình hệ thống trái đất (ESMF). Họ có một số mã để tái tạo lưới - đặc biệt cho mục đích này - và họ cũng đã thực hiện một số nội dung tiện lợi với mã song song. Toàn bộ hệ thống được thiết kế để ghép các mô hình, vì vậy có thể có những thứ hữu ích khác ở đó.
Một số lưu ý khác:
"không có cách nào để làm điều này một cách hiệu quả cho bất kỳ số điểm đáng kể nào"
tốt, hiệu quả là một điều tương đối - một khi bạn đã có lưới trong cấu trúc cây, bạn có thể tìm kiếm nó trong O (logn), có thể khá nhanh, mặc dù không phải O (1), như tìm kiếm lưới thông thường Là.
Ngoài ra, có vẻ như trong khi nội suy cần phải được thực hiện ở mọi bước, nếu lưới không thích ứng, thì ánh xạ từ lưới này sang lưới khác không đổi. Vì vậy, bạn có thể tính toán ánh xạ đó (tức là phần tử nào trong mỗi lưới tương ứng với phần tử khác) theo bất kỳ cách nào thuận tiện, lưu trữ nó, và sau đó bạn không bao giờ cần phải tính toán nó (cho đến khi lưới thay đổi).
Điều đó khiến bạn có mã nội suy - nơi bạn sẽ muốn cân bằng độ chính xác với hiệu suất - phép nội suy tuyến tính đơn giản trên một tam giác là nhanh và có thể đủ tốt.
"Tôi đã nghĩ về việc sử dụng kd-tree để tìm kiếm nút gần nhất của một điểm đã cho, sau đó tôi sẽ sử dụng các hàm hình dạng của phần tử đó"
hãy nhớ rằng nút gần nhất không giúp bạn có được phần tử - vì vậy bạn sẽ muốn làm thêm một chút để tìm phần tử bạn muốn. Thay vào đó, một tùy chọn sẽ là sử dụng rtree, lưu trữ / tìm kiếm theo hộp giới hạn - bạn sẽ nhận được nhiều hơn một yếu tố với mỗi tìm kiếm, nhưng sau đó bạn có thể kiểm tra xem cái nào là chính xác.