2013-09-24 28 views
5

İki çokgenim var ve minimum mesafeyi elde etmek istiyorum ve bu mesafe arasındaki noktalar ölçülüyor. Elbette böyle bir nokta iki düğüm arasındaki kenarda çok iyi olabilir.İki poligonun en yakın noktaları

Example

Bana yeşil mesafe ve iki noktayı veren bir algoritma için arıyorum: Burada

bir örnektir.

+1

tutmak ise o plygons içbükey olabilir gibi görünüyor. Aksi taktirde GJK algoritması, –

+0

numaralı problemin çözümü için mükemmel bir çözümdür. Http://stackoverflow.com/questions/3700983/what-is-the-fastest-algorithm-to-calculate-the-minimum-distance-between-two-sets – Ari

cevap

2

çokgenler kesişen yoksa, bunu yapabilirdi:

Eğer poligon A ve poligon B ve A [i] ve B [j] varsa A ve B'nin tepe noktaları sırasıyla bulunmaktadır. Daha sonra, A [i] 'den her bir B segmentine en yakın mesafeyi hesaplayabilirsiniz (this gibi bir şey kullanabilirsiniz, ancak segmentlerle çalışacağınızı hesaba katarsınız, bu yüzden başlangıç ​​ve bitiş noktası ile çalışmanız gerekir. segment).

Sonra A.

tüm kesimlerine aynı ancak tüm B [j] dan do Ve nihayet en küçük tane almak zorunda.

Sadece önceki yorumumu hatırla: Bu bölümün en kısa mesafesini hesaplarken segmentin başlangıç ​​ve bitiş noktasını göz önünde bulundurun, çünkü kavşak noktası segmentin dışında olabilir. Son bu şeyi kontrol etmek için here'a bakın. nokta dışarı segmentin en yakın kenar) resmi itibaren

Saygılar

İlgili konular