Thư viện phần mềm vận chuyển Delaunay N-chiều


10

Tôi có một tập hợp các điểm / nút được biết cách đều nhau trong không gian N-Dimensional (N> = 2) và tôi muốn có một cách để tạo ra tam giác Delaunay của các điểm này và trả về các phần tử tương ứng.

Có bất kỳ thư viện chia lưới hiện có nào sẽ thực hiện tam giác ND Delaunay không?

(Tôi đang làm điều này bởi vì tôi muốn sử dụng các phần tử được chia lưới làm cơ sở cho phép nội suy tuyến tính tại bất kỳ điểm nào trong không gian. Kích thước của tôi hiện đang được xử lý bởi một lớp C ++ được đặt trên kích thước nếu điều đó tạo ra bất kỳ sự khác biệt nào đối với các đề xuất ...)


Hi mirams, và chào mừng đến với scicomp! Bạn có thể quan tâm đến câu hỏi này: scicomp.stackexchange.com/questions/770/iêu
Paul

Cảm ơn các liên kết, tôi đã hy vọng để tránh viết mesher của riêng tôi. Tetgen (cho 3D) chạy đến rất nhiều dòng mã. Có vẻ như một vấn đề phải được giải quyết nhiều lần.
mirams

câu hỏi phổ biến ... cũng scicomp.stackexchange.com/questions/7664/ trên
clipper

Tam giác Delaunay thường có nguồn gốc từ thân lồi trong không gian chiều cao hơn. Xem nhận xét qhull dưới đây.
meawoppl

3D không khó lắm, nhưng đối với 4D thì cực kỳ khó khi tinh chỉnh, tôi đã hỏi một câu hỏi trên MathOverflow, nhưng chưa có câu trả lời nào: mathoverflow.net/questions/130878/ trộm
Shuhao Cao

Câu trả lời:


4

Tôi nghĩ bạn có thể làm điều này bằng phần mềm vỏ lồi (ví dụ QHull) thông qua thuật toán nâng. Ít nhất, tài liệu về lệnh "delaunayn" của matlab dường như chỉ ra càng nhiều.


2
Đã thử nghiệm 4D và điều đó dường như hoạt động tốt trong QHull (Tôi sử dụng nó thông qua scipy.spatial trong python).
Ethan Coon

1
Bạn sẽ không đánh bại qhull. Tôi đã sử dụng thông qua Scipy trong tối đa 6 chiều.
meawoppl

Hmmm - điều này từ qhull.org/news/qhull-news.html không lý tưởng: "Tất cả người dùng Trong 3-d trở lên, tùy chọn 'Qt' không tạo ra các tam giác phù hợp cho các khía cạnh liền kề, không đơn giản. Ví dụ: nếu bạn có một mảng 3 trang thông thường, các tam giác Delaunay của chúng bao gồm các hình khối. Tùy chọn 'Qt' sẽ tam giác mỗi khối thành tứ diện. Trong mỗi khối, tam giác đều nhất quán, nhưng không nhất thiết giữa các khối liền kề [C. Bertoglio; C. de Visser]. Cách khắc phục vấn đề này chưa được biết. " Đáng để thử, tôi sẽ xem cách tôi tiếp tục.
mirams


0

Tôi cũng đã tìm thấy distmesh trong Matlab dường như có thể làm điều này:

Trang chủ của Distmesh

Nó thực hiện các giao diện cho các lưới phần tử hữu hạn (thông qua QHull) nhưng với giao diện đẹp để xác định các khu vực / bề mặt dựa trên các hàm khoảng cách. Tốt hơn cho các trường hợp bạn muốn xác định một bề mặt toán học và không quan tâm đến các nút bên trong.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.