Diyagramınızdaki merkez nokta Voronoi diyagramının dejenere bir kenarıdır. Düzensiz bir nokta bulutu için bir Voronoi diyagramı oluşturursanız, her tepe noktası derece 3'e sahip olacaktır. Derece 4 (veya daha fazla) olan bir tepe noktası yalnızca iki (veya daha fazla) köşe çakıştığında gerçekleşebilir. Bu, aralarında sıfır uzunlukta bir kenar olduğu anlamına gelir. Ancak bu kenarın Delaunay üçgenlemesinde yine de karşılık gelen bir kenarı olmalıdır. Sorun, sıfır uzunluklu kenarın ilişkili bir yönü olmadığı için, iki olası kenardan hangisini seçtiğiniz keyfi olması.
Neden bahsettiğimi görselleştirmek için, düzenli olarak daha az aralıklı dört noktadan başlamayı (yalnızca derece-3 köşelerle başlayacağımız şekilde) ve yavaş yavaş normal konumlarına çevirmeyi düşünün.
Bunu iki farklı şekilde yapabiliriz, her ikisi de diyagramınızdaki dejenere duruma yol açar. Her ikisi de dejenere vaka için geçerli sınırlar olan iki farklı Delaunay üçgenlemesi ile sonuçlandığını göreceksiniz:
Kodunuzun bu dejenere davayı bir nedenden ötürü eksik olduğunu varsayıyorum, ancak aslında Delaunay üçgenlemesini Voronoi diyagramından nasıl hesapladığınızı görmeden size bundan daha fazla işaret etmek imkansız.
Ayrıca daha yüksek dejenerasyonlara sahip olmanın (bir daire etrafında eşit açılarda dağılmış dörtten fazla nokta) muhtemelen ek dikkat gerektireceğini unutmayın:
Bu animasyonlar ayrıca (dejenere olmayan bir durumda bile), karşılık gelen Voronoi ve Delaunay kenarlarının sonlu kapsamları içinde gerçekte geçmediğini gösterir. Bu, uçtaki normal çokgeni üçgenleyen 2 (veya 3) kenarın aslında merkezde olan birkaç dejenere kenara karşılık geldiğini görmek zorlaştırabilir. Ayrıca toplamda beş farklı beşgen üçgeni ve altıgenin 14 üçgeni olduğunu unutmayın (her ikisinin de dejenere olmayan bir üçgenleme deforme ederek elde edilip edilemeyeceğini bilmiyorum).
Düzenle (OP ile)
Boost.polygon ile hesaplanan Voronoi diyagramları , her bir Voronoi tepe noktasından geçebilir ve her kenar bu köşelere (saat yönünde veya saat yönünün tersine) bağlanabilir. Bu şekilde, her kenar çifti için bir üçgen oluşturmak mümkündür (bağlı iki kenar 3 hücreye bağlanır).