Ich möchte mich bei allen unten stehenden Beiträgen entschuldigen. Habe das falsche Forum ausgewählt, um dies ursprünglich zu posten. Anstatt dies jedoch zu einer völligen Verschwendung zu machen, habe ich die Frage zu einem echten "Theoretischen Informatik" -Problem überarbeitet.
Problem: Erstellen Sie einen Algorithmus, der eine Menge von n geordneten Punkten in einer 2D-Ebene verwendet, die die Kontur eines einfachen Polygons A bilden, das konkav sein kann oder nicht, und ein neues Polygon B mit m Punkten erstellt, so dass:
- Alle Punkte in A sind in B enthalten
- 3 <= m <n
- B ist das Polygon in der Menge aller Bs mit der kleinsten Fläche
- B muss ein einfaches Polygon sein (dh keine Selbstüberschneidungen).
- Die Eingabe in den Algorithmus ist Polygon A und "m".
- Das Zusammentreffen von Segmenten in B mit Segmenten in A ist zulässig.
Einige Beispieleingaben und erwartete Ausgaben:
- Wenn A ein Quadrat und m 3 ist, wäre B das Dreieck mit der kleinsten Oberfläche, die A enthält.
- Wenn A ein Sechseck und m 4 ist, wäre B ein Viereck mit der kleinsten Oberfläche, die A enthält.
Viel Glück an alle, die dieses Problem ausprobieren. Ich kann Ihnen versprechen, dass dies besonders jetzt sehr schwierig sein wird, da die Lösung optimal sein muss.
ds.algorithms
cg.comp-geom
polygon
Thirlan
quelle
quelle
Antworten:
Ich weiß nicht, wie Ihre Polygone aussehen, aber vielleicht reicht eine vereinfachte Version des Ramer-Douglas-Peucker-Algorithmus aus:
Für komplexere Algorithmen können Sie nach " Polygon-Generalisierungstechniken " suchen, obwohl Ihre erste Bedingung (Punkte in A sind in B enthalten) einige zusätzliche Skalierungsoperationen impliziert.
quelle
Ich habe vor langer Zeit einen Artikel geschrieben, in dem ein linearer Zeitalgorithmus zum Finden des kleinsten Flächendreiecks mit einer Punktmenge (oder einem Polygon) beschrieben wurde:
Unsere Arbeit wurde von einem allgemeinen Algorithmus gefolgt:
Sie können Google Scholar verwenden, um die späteren Artikel zu verfolgen, in denen diese zitiert werden, um Verbesserungen und verwandte Arbeiten zu finden.
quelle