Belirli bir basit olmayan poligonun, iki farklı biçimsel duyumdan herhangi birinde neredeyse basit olup olmadığına karar vermenin karmaşıklığıyla ilgileniyorum : Zayıf basit veya kendinden geçişli . Bu terimler yaygın olarak bilinmediğinden, bazı tanımlarla başlayayım.
Bir çokgen sonlu bir dizi bağlantı hattı bölümlerinin kapalı döngüdür düzlemde noktaları. Noktaları denir köşe poligon ve segmentleri onun adlandırılır kenarları . Herhangi bir poligonu, sadece sıralarını sıralayarak listeleyebiliriz.
Bir poligon olan basit tüm eğer köşe farklıdır ve kenarları uç noktaları sadece kesişir. Aynı şekilde, bir poligon daire şeklinde homeomorfik ise ve her kenar pozitif uzunluğa sahipse bir poligon basittir. Bununla birlikte, genel olarak, bir poligonun köşeleri ve kenarları keyfi olarak kesişebilir veya hatta çakışabilir. 1
Kesişimi her ikisinin de ortak alt yolu olan iki ve çokgen yolu ve B'yi düşünün (muhtemelen tek bir nokta). Biz söylüyorlar ve çapraz eğer kendi uç noktaları ortak alt yol bir mahalle sınırında alternatif . Bir çokgen iki geçiş alt yoluna sahipse kendinden geçişlidir, aksi halde kendinden geçişsizdir . 2
Bir poligon basit poligon dizisinin limiti ise zayıf veya çok poligonu basitleştiren tepe noktalarının keyfi olarak küçük bir sapması varsa eşdeğerde, basit bir şekilde basittir. Her zayıf basit poligon, kendinden geçmeyen bir şeydir; Bununla birlikte, bazı kendinden geçişli çokgenler çok basit değildir .
Örneğin, aşağıda gösterilen a, b, p, q, x, y gibi altı noktayı göz önünde bulundurun .
Poligon basittir; Soldaki şekle bakınız.
Poligon zayıf basittir; Ortadaki şekil yakındaki basit bir çokgeni gösterir. Bununla birlikte, bu çokgen basit değildir, çünkü üç kez ziyaret eder .
Poligon kendiliğinden geçer, çünkü alt ve çaprazlanır. Bazı sezgi için doğru şekle bakın.b p q z y q p a
Son olarak, (orta çokgen etrafına iki kez olan) çokgen , ancak zayıf değildir . Sezgisel olarak, bu çokgenin dönüş sayısı , herhangi bir basit çokgenin dönüş sayısı olmalıdır . (Resmi bir ispat, bazı vaka analizleri gerektirir, çünkü kısmen, dönüş numarası açılarına sahip çokgenler için iyi tanımlanmamış !)
Güncelleme (Eylül 13): Aşağıdaki şekilde, poligon kendinden geçişli değildir ve 1 numaralı sahiptir , ancak çok basit değildir. Çokgen, basit bir şekilde geçiş yapan basit olmayan alt yollara sahiptir , ancak geçişli basit alt yollara sahip değildir . ("Tartışmalı" diyorum çünkü iki basit olmayan yürüyüşün ne zaman geçeceğini nasıl tanımlayacağımız belli değil!)
Sonunda, işte asıl sorum şu:
Belirli bir poligonun kendinden geçişsiz olup olmadığını ne kadar çabuk belirleyebiliriz?
Bir poligonun zayıf bir şekilde basit olup olmadığını ne kadar çabuk belirleyebiliriz?
İlk problem, zaman içerisinde aşağıdaki gibi çözülebilir . Olduğu için köşe bulunmaktadır tepe-için-tepe alt yol; Herhangi bir alt yolun zamanda (kaba kuvvetle) basit olup olmadığını test edebiliriz . Her bir basit köşe-köşe alt yolu çifti için, zamanında geçip geçmediklerini test edebiliriz . Ancak bu mümkün olan en iyi algoritma olamaz .
İkinci sorunun polinom zamanda çözülüp çözülmeyeceğini bilmiyorum. Sanırım basit olmayan çokgenler için iyi tanımlanmış bir dönüm numarasını hızlıca hesaplayabilirim (çokgen kenarların birleşimi sadece bir yol değilse, bu durumda çokgen çok basit olmalıdır); cevabımı aşağıya bakınız. Bununla birlikte, yukarıdaki yeni poligon örneği, kendinden geçmeyen ve 1 numaralı dönüşün zayıf şekilde basit olmadığı anlamına gelir.
Verilen bir çokgen olup olmadığını belirleyebilir basit olarak , ya da kesişme için kenarların her çiftini ile zaman , ya da standart sweepline algoritması kullanılarak zaman zaman Chazelle'in üçgenleme algoritmasını kullanarak. (Girilen çokgen basit değilse, herhangi bir üçgenleme algoritması bir istisna, sonsuz döngü ya da geçerli bir üçgenleme olmayan çıktı üretecektir.) Ancak bu algoritmaların hiçbiri sormadığım sorunları çözmez. O ( n log n ) O ( n )
1 Branko Grünbaum. Çokgenler: Meister haklıydı ve Poinsot yanlıştı ama üstün geldi . Beiträge zur Cebir ve Geometrie 53 (1): 57–71, 2012.
2 Bkz. Örneğin: Erik D. Demaine ve Joseph O'Rourke. Geometrik Katlama Algoritmaları: Bağlantılar, Origami, Polyhedra . Cambridge Üniversitesi Yayınları, 2007.