Döner pergeller - Rotating calipers

Dönen Kaliper yöntemini kullanarak çapını belirlemek için bir çokgenin dışbükey gövdesi etrafındaki prob dizisi.

İçinde hesaplamalı geometri yöntemi dönen pergeller bir algoritma tasarımı genişliği bulma dahil optimizasyon problemlerini çözmek için kullanılabilecek teknik veya çap bir dizi nokta.

Yöntem böyle adlandırılmıştır çünkü fikir yay yüklü bir döndürmeye benzerdir. Sürmeli kumpas dışında dışbükey Poligon.[1] Kaliperin bir bıçağı çokgenin bir kenarına düz bir şekilde dayandığında, bir antipodal çift nokta veya kenar zıt bıçağa değecek şekilde. Kaliperin çokgen etrafında tam "dönüşü", tüm karşıt mod çiftlerini algılar; bir grafik olarak görüntülenen tüm çiftlerin kümesi bir fırlatmak. Pergelleri döndürme yöntemi şu şekilde yorumlanabilir: projektif ikili bir tarama çizgisi algoritması süpürmenin çaprazdan ziyade çizgilerin eğimleri boyunca olduğu x- veya y- noktaların koordinatları.

Tarih

Bir antipodal tepe çifti ve onların paralel hatları desteklemek.

Döner kumpas yöntemi ilk olarak Michael Shamos 1978'de.[2] Shamos bu yöntemi kullanarak zıt modlu bir çift nokta dışbükey Poligon ve bir dışbükey çokgenin çapını hesaplamak için zaman. Godfried Toussaint "dönen pergeller" ifadesini icat etti ve ayrıca yöntemin diğer birçok hesaplama geometri probleminin çözümünde uygulanabilir olduğunu gösterdi.[3]

Dönen pergeller, iki dışbükey çokgen arasında bir köprü bulmak

Shamos'un algoritması

Shamos, konveks poligon üzerindeki tüm antipodal köşe çiftlerini oluşturan dönen pergeller yöntemi için tezinde (s. 77–82) aşağıdaki algoritmayı verdi:[2]

/ * p [] standart biçimdedir, yani saat yönünün tersine,      farklı köşeler, eşdoğrusal köşeler yok.   AÇI (m, n) saat yönünde açıyı döndüren bir prosedürdür      paralel bir konumdan dönerken bir ışın tarafından süpürüldü      yönlendirilmiş segment Pm, Pm + 1'e Pn, Pn + 1'e paralel bir konuma   Tüm endekslerin mod N'ye indirgendiğini varsayıyoruz (böylece N + 1 = 1).*/GetAllAntiPodalPairs(p[1..n])    // P1'in karşısındaki köşeyi bularak ilk anti-podal çifti bulun    ben = 1    j = 2    süre açı(ben, j) < pi        j++    Yol ver ben, j    / * Şimdi poligon etrafında ilerleyin         muhtemelen paralel kenarlar. L Hattı içinden geçer         Pi, Pi + 1 ve M, Pj, Pj + 1'den geçer    */    // P'nin tamamı taranana kadar j'de döngü yap    akım = ben        süre j != n        Eğer açı(akım, ben + 1) <= açı(akım, j + 1)            j++            akım = j        Başka            ben++            akım = ben        Yol ver ben, j        // Şimdi paralel kenarlara dikkat edin        Eğer açı(akım, ben + 1) = açı(akım, j + 1)            Yol ver ben + 1, j            Yol ver ben, j + 1            Yol ver ben + 1, j + 1            Eğer akım = ben                j++            Başka                ben++

Bu algoritmanın bir başka versiyonu, 1985 yılında Preparata ve Shamos tarafından açıların hesaplanmasından kaçınan metinde yer aldı:[4]

GetAllAntiPodalPairs(p[1..n])    i0 = n    ben = 1    j = ben + 1    süre (Alan(ben, ben + 1, j + 1) > Alan(ben, ben + 1, j))        j = j + 1        j0 = j    süre (j != i0)        ben = ben + 1        Yol ver ben, j        süre (Alan(ben, ben + 1, j + 1) > Alan(ben, ben + 1, j)            j = j + 1            Eğer ((ben, j) != (j0, i0))                Yol ver ben, j            Başka                 dönüş        Eğer (Alan(j, ben + 1, j + 1) = Alan(ben, ben + 1, j))            Eğer ((ben, j) != (j0, i0))                Yol ver ben, j + 1            Başka                 Yol ver ben + 1, j

Başvurular

Pirzadeh[5] Dönen kumpas yönteminin çeşitli uygulamalarını açıklar.

Mesafeler

  • Dışbükey bir çokgenin çapı (maksimum genişlik)[6][7]
  • Genişlik (minimum genişlik ) dışbükey bir çokgen[8]
  • İki dışbükey çokgen arasındaki maksimum mesafe[9][10]
  • Minimum mesafe iki dışbükey çokgen arasında[11][12]
  • İki dışbükey çokgen arasında en geniş boş (veya ayırıcı) şerit (aşağıda ortaya çıkan bir sorunun basitleştirilmiş düşük boyutlu bir çeşidi) destek vektör makinesi tabanlı makine öğrenimi)
  • İki dışbükey çokgen arasındaki Grenander mesafesi[13]
  • Optimal şerit ayırma (tıbbi görüntüleme ve katı modellemede kullanılır)[14]

Sınırlayıcı kutular

Üçgenler

Çok poligonlu işlemler

  • İki dışbükey çokgen birliği
  • İki dışbükey çokgene ortak teğetler
  • İki dışbükey çokgenin kesişimi[16]
  • Kritik destek hatları iki dışbükey çokgen
  • İki dışbükey çokgenin vektör toplamları (veya Minkowski toplamı)[17]
  • İki dışbükey çokgenli dışbükey gövde

Geçişler

Diğerleri

  • Makine öğrenimli sınıflandırma için parametrik olmayan karar kuralları[21]
  • Bilgisayarla görmedeki görüş sorunları için diyafram açısı optimizasyonları[22]
  • Milyonlarca biyolojik hücrede en uzun hücreleri bulmak[23]
  • Atış menzilinde iki kişinin hassasiyetinin karşılaştırılması
  • Tarama görüntülerinden beyin bölümlerini sınıflandırın

Ayrıca bakınız

Referanslar

  1. ^ "Döner Kumpaslar" Toussaint'in ana sayfasında
  2. ^ a b Shamos, Michael (1978). "Hesaplamalı Geometri" (PDF). Yale Üniversitesi. s. 76–81.
  3. ^ Toussaint, Godfried T. (1983). "Dönen pergellerle geometrik problemlerin çözümü". Proc. MELECON '83, Atina. CiteSeerX  10.1.1.155.5671. Alıntı dergisi gerektirir | günlük = (Yardım)
  4. ^ Shamos, Franco P. Preparata, Michael Ian (1985). Hesaplamalı Geometri Giriş. New York, NY: Springer New York. ISBN  978-1-4612-7010-2.
  5. ^ Pirzadeh, Hormoz (1999). "Dönen pergellerle hesaplamalı geometri". McGill Kütüphanesi.
  6. ^ Binay K. Bhattacharya ve Godfried T. Toussaint, "Sonlu bir düzlemsel kümenin çapını hesaplamak için hızlı algoritmalar," Görsel Bilgisayar, Cilt. 3, No. 6, Mayıs 1988, s. 379–388.
  7. ^ Binay K. Bhattacharya ve Godfried T. Toussaint, "Dışbükey çokgenler için çap algoritmasına karşı bir örnek," Örüntü Analizi ve Makine Zekası Üzerine IEEE İşlemleri, Cilt. PAMI-4, No. 3, Mayıs 1982, s. 306–309.
  8. ^ Michael E. Houle ve Godfried T. Toussaint, "Bir kümenin genişliğini hesaplamak" Kalıp Analizi ve Makine Zekası için IEEE İşlemleri, Cilt. 10, hayır. 5, Eylül 1988, s. 761–765.
  9. ^ Godfried T. Toussaint ve Jim A. McAlear, "Basit bir O (n günlük n) iki sonlu düzlemsel küme arasındaki maksimum mesafeyi bulmak için algoritma, " Desen Tanıma Mektupları, Cilt. 1, 1982, s. 21–24.
  10. ^ Binay K. Bhattacharya ve Godfried T. Toussaint, "İki sonlu düzlemsel küme arasındaki maksimum mesafeyi hesaplamak için verimli algoritmalar," Algoritmalar Dergisi, cilt. 14, 1983, s. 121–136.
  11. ^ Godfried T. Toussaint ve Binay K. Bhattacharya, "İki sonlu düzlemsel küme arasındaki minimum mesafeyi hesaplamak için en uygun algoritmalar," Desen Tanıma Mektupları, cilt. 2, Aralık 1983, s. 79–82.
  12. ^ "Döner Kumpaslar". 2015-03-30. 2015-03-30 tarihinde kaynağından arşivlendi. Alındı 2017-03-22.CS1 bakımlı: BOT: orijinal url durumu bilinmiyor (bağlantı)
  13. ^ MARTINEZ, HUGO M. (1 Ocak 1978). "İnceleme:" PATTERN SYNTHESIS ", yazan U. Grenander, Springer-Verlag, New York, 1976. 509 pp". International Journal of General Systems. 4 (2): 126–127. doi:10.1080/03081077808960672. ISSN  0308-1079.
  14. ^ Barequet ve Wolfers (1998). "İki Çokgeni Ayıran Bir Şeridi Optimize Etme". Grafik Modeller ve Görüntü İşleme. 60 (3): 214–221. doi:10.1006 / gmip.1998.0470.
  15. ^ Teichmann, Marek (1989). "Kama yerleştirme optimizasyonu sorunları". Alıntı dergisi gerektirir | günlük = (Yardım)
  16. ^ Godfried T. Toussaint, "Dışbükey çokgenleri kesişen basit bir doğrusal algoritma, Görsel Bilgisayar, Cilt. 1, 1985, s. 118–123.
  17. ^ Tomas Lozano-Perez, "Mekansal planlama: Bir konfigürasyon alanı yaklaşımı" Bilgisayarlarda IEEE İşlemleri, Cilt. 32, No. 2, 1983, s. 108–120.
  18. ^ Binay K. Bhattacharya ve Godfried T. Toussaint, "En kısa çaprazları hesaplama" Bilgi işlem, cilt. 46, 1991, s. 93–119.
  19. ^ Binay K. Bhattacharya, Jurek Czyzowicz, Peter Egyed, Ivan Stojmenovic, Godfried T. Toussaint ve Jorje Urrutia, "Kümelerin en kısa çaprazlarını hesaplamak", International Journal of Computational Geometry and Applications, Cilt. 2, No. 4, Aralık 1992, s. 417–436.
  20. ^ Jean-Marc Robert ve Godfried T. Toussaint, "Basit nesnelerin doğrusal yaklaşımı" Hesaplamalı Geometri: Teori ve Uygulamalar, Cilt. 4, 1994, s. 27–52.
  21. ^ Rasson ve Granville (1996). "Sınıflandırmada geometrik araçlar". Hesaplamalı İstatistikler ve Veri Analizi. 23 (1): 105–123. doi:10.1016 / S0167-9473 (96) 00024-2.
  22. ^ Bose, P .; Hurtado-Diaz, F .; Omaña-Pulido, E .; Snoeyink, J .; Toussaint, G.T. (2002-08-01). "Bazı Açıklık Açısı Optimizasyon Sorunları". Algoritma. 33 (4): 411–435. CiteSeerX  10.1.1.16.7118. doi:10.1007 / s00453-001-0112-9. ISSN  0178-4617.
  23. ^ "Dışbükey Çokgenler için Yanlış Çap Algoritmaları".