2016-03-20 14 views
-1

Ich kann nicht herausfinden, wie Kreise in C++ zusammengeführt werden. Ich habe es geschafft, zwei Polygone mit Boost Geometry zu verbinden, aber das Problem ist, dass ich nicht weiß, wie man Polygone in Kreise umwandelt (wenn das in Boost Geometry überhaupt möglich ist).Union von Kreisen in C++

Keine visuelle Darstellung der Geometrie ist notwendig, am Ende möchte ich es in WKT-Format umwandeln.

Ist Boost Geometry der richtige Ansatz oder gibt es bessere Bibliotheken dafür?

Danke,

Andy

+0

können Sie verwenden auch CGAL statt Boost.Geometry – mustafagonul

+0

Versuchen Sie, polygoned Kreis zu Kreis oder ein Polygon umrunden zu verwandeln? Sie sollten den Durchschnitt der Punkte im Polygon ermitteln, um das Zentrum zu finden. Nachdem Sie das Zentrum gefunden haben, sollten Sie den Durchschnitt der Abstände der Punkte zum Mittelpunkt ermitteln, um den Radius zu finden. Deine Frage ist nicht so klar, denke ich. – mustafagonul

+0

Entschuldigung dafür. Grundsätzlich möchte ich gewerkschaftliche Kreise bilden. Einer meiner Versuche war Boost. Dafür muss ich die Kreise in Polygone umwandeln und diese zusammenführen. Das Ergebnis des Mergens ist in jedem Fall ein Polygon. – Andy

Antwort

0

Sie können Mittelpunkt C und dem Radius R mit regelmäßiges Vieleck mit n Ecken (wählen N auf benötigte Präzision abhängig) angenäherten Kreises mit. Vertex-Koordinaten:

V[i].X = C.X + R * Cos(i * 2 * Pi/N) 
V[i].Y = C.Y + R * Sin(i * 2 * Pi/N)