Tìm đường thẳng dài nhất giữa hai điểm trên bề mặt đa giác


8

Hình dạng của tôi là một đa giác hơi lõm, và tôi muốn biết đường kính tối đa. Tôi tưởng tượng một đường thẳng giữa hai điểm trên bề mặt của đa giác, sao cho đường thẳng không vượt ra ngoài đa giác.

Có một thuật toán chung cho việc này?

Trong trường hợp của tôi, tôi quan tâm đến 2D. Hình dạng của tôi là khối u trong hình ảnh y tế. Vì vậy, chúng ta cũng có thể giả sử: 1 centroid luôn nằm trong đa giác. 2 mật độ đỉnh cao, tức là đỉnh kế tiếp luôn gần với đỉnh trước.


1
calip xoay nhưng chỉ hoạt động cho đa giác lồi. Nếu không, bạn có thể sử dụng nó như là một cơ sở cho một giải pháp vũ phu.
ratchet freak

3
Chà, nếu O (n ^ 2) không phải là vấn đề thì hãy kiểm tra tất cả các cặp điểm
joojaa

2
Trên thực tế, nó liên quan nhiều hơn một chút: hãy tưởng tượng 2 phòng được kết nối bởi một hành lang hẹp. Đường kính lớn nhất sẽ kết thúc trên các bức tường trong các phòng khác nhau và sẽ không kết thúc ở bất kỳ điểm nào.
ratchet freak

1
Bạn đang tìm kiếm một thuật toán hoạt động trong trường hợp tổng quát nhất hoặc nó có thể bị hạn chế trong trường hợp 2D không? Điều này có thể dễ dàng hơn để giải quyết với một số thông tin hoặc hạn chế về đầu vào. Bạn sử dụng đa giác từ có thể gợi ý chỉ ở dạng 2D, cũng là câu hỏi bạn liên kết gợi ý trường hợp 2D. Ngoài ra, nó có đủ để xem xét khoảng cách đỉnh-đỉnh hay bạn cần kết quả chính xác cho các trường hợp như quái vật ratchet được đề cập trong bình luận của mình ?
Nero

2
Ngoài ra, tôi lo ngại về một hình chữ C có độ dày rất hẹp, nhưng phần lớn bên trong mở; và vì vậy một bán kính cong lớn. Đường kính của nó (như bạn xác định) sẽ rất nhỏ bởi vì nó chỉ là một đoạn ngắn theo độ cong của C. Tuy nhiên, một nốt ung thư kích thước của kích thước bên trong sẽ khá liên quan. Vì vậy, có lẽ đó là thân tàu lồi mà bạn muốn tính đường kính.
Wyck

Câu trả lời:


1

Tôi không có câu trả lời chính xác cho điều này, vì câu trả lời khác xa. Tôi muốn đề nghị bạn nên xem xét hình học tính toán vì đây rõ ràng là một vấn đề về tầm nhìn - tôi đoán là một giải pháp đã tồn tại. Ý tưởng của riêng tôi sẽ là: đối với mỗi phân đoạn dòng trong đa giác, hãy tìm các phần có thể nhìn thấy của các phân đoạn dòng khác và sau đó chọn cặp điểm cách xa nhau nhất. Liên kết truyền cảm hứng: Wikipedia về 'đa giác tầm nhìn' .

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.