Nếu đa giác không giao nhau, bạn có thể làm điều này:
Nếu bạn có hình đa giác A và đa giác B và A [i] và B [j] là các đỉnh của A và B tương ứng. Sau đó, bạn có thể tính khoảng cách gần nhất từ A [i] đến mỗi đoạn B (bạn có thể sử dụng một cái gì đó như this, nhưng tính đến việc bạn sẽ làm việc với các phân đoạn, vì vậy bạn phải làm việc với điểm bắt đầu và kết thúc của phân đoạn).
Sau đó, bạn phải làm tương tự nhưng từ tất cả B [j] đến tất cả các đoạn của A.
Và cuối cùng là nhỏ nhất.
Chỉ cần nhớ nhận xét trước của tôi: xem xét điểm xuất phát và điểm kết thúc của đoạn trong khi tính khoảng cách ngắn nhất đến đoạn đường này, bởi vì điểm giao cắt có thể nằm ngoài phân đoạn. Hãy xem here để kiểm tra điều cuối cùng này. Nếu điểm được ra giữ mép gần nhất của phân khúc)
Trân
Từ hình ảnh có vẻ như rằng plygons có thể lõm. Nếu không, thuật toán GJK là giải pháp tuyệt vời cho sự cố –
xem http://stackoverflow.com/questions/3700983/what-is-the-fastest-algorithm-to-calculate-the-minimum-distance-between-two-sets – Ari