Der Mittelpunkt in Ihrem Diagramm ist eine entartete Kante des Voronoi-Diagramms. Wenn Sie ein Voronoi-Diagramm für eine unregelmäßige Punktwolke erstellen, hat jeder Scheitelpunkt Grad 3. Ein Scheitelpunkt mit Grad 4 (oder mehr) kann nur auftreten, wenn zwei (oder mehr) Scheitelpunkte zusammenfallen. Das bedeutet, dass sich zwischen ihnen eine Kante mit der Länge Null befindet. Diese Kante sollte jedoch immer noch eine entsprechende Kante in der Delaunay-Triangulation haben. Das Problem ist, dass es beliebig ist, welche der beiden möglichen Kanten Sie auswählen, da der Kante mit der Länge Null keine Richtung zugeordnet ist.
Um zu veranschaulichen, wovon ich spreche, sollten Sie mit vier Punkten beginnen, die weniger regelmäßig voneinander entfernt sind (so dass wir nur mit Eckpunkten 3. Grades beginnen) und diese schrittweise in ihre regulären Positionen übersetzen.
Wir können dies auf zwei verschiedene Arten tun, die beide zu dem entarteten Fall in Ihrem Diagramm führen. Sie werden feststellen, dass Sie am Ende zwei verschiedene Delaunay-Triangulationen haben, die beide gültige Grenzen für den entarteten Fall sind:
Ich gehe davon aus, dass in Ihrem Code dieser degenerierte Fall aus dem einen oder anderen Grund fehlt, aber ohne zu sehen, wie Sie die Delaunay-Triangulation aus dem Voronoi-Diagramm berechnen, ist es unmöglich, Sie weiter zu führen.
Beachten Sie auch, dass noch höhere Entartungen (durch mehr als vier Punkte, die in gleichen Winkeln um einen Kreis verteilt sind) möglicherweise zusätzliche Aufmerksamkeit erfordern:
Diese Animationen zeigen auch, dass sich (auch in einem nicht entarteten Fall) die entsprechenden Kanten von Voronoi und Delaunay nicht notwendigerweise tatsächlich in ihrer endlichen Ausdehnung kreuzen. Das könnte es schwieriger machen zu sehen, dass die 2 (oder 3) Kanten, die das reguläre Polygon am Ende triangulieren, tatsächlich mehreren degenerierten Kanten entsprechen, die sich alle in der Mitte befinden. Beachten Sie auch, dass es insgesamt 5 verschiedene Triangulationen des Fünfecks und 14 Triangulationen des Sechsecks gibt (obwohl ich nicht weiß, ob alle 14 durch Verformen einer nicht entarteten Triangulation erhalten werden können).
Bearbeiten (nach OP)
Mit Boost.polygon berechnete Voronoi-Diagramme ermöglichen das Durchlaufen jedes Voronoi-Scheitelpunkts und jeder mit diesen Scheitelpunkten verknüpften Kante (im oder gegen den Uhrzeigersinn). Auf diese Weise ist es möglich, für jedes Kantenpaar ein Dreieck zu erstellen (zwei verbundene Kanten werden mit 3 Zellen verknüpft).