In meiner Arbeit muss ich eine zufällige Gruppe von Punkten in einer Grenze einschließen. Konvexer Rumpf nahm mehr Platz und war nicht engste Form, also modifizierte ich ihn, um die Kanten auf folgende Weise zu entspannen:Konkavrumpf Alle Punkte des Polygons an der Grenze nehmen
i) Zeichnen konvexe Hülle für die angegebene Anzahl von Punkten.
ii) Jetzt für jeden Punkt nicht auf der konvexen Rumpegrenze überprüfen, ob es an der Grenze hinzugefügt werden kann (natürlich, die Grenzformgebung ändert), während sicherstellen, dass keiner der angegebenen Punkte außerhalb des neuen liegt Polygonform. (Punkt im Polygonalgorithmus)
iii) Wenn alle Punkte innerhalb des Polygons liegen, wiederholen Sie Schritt 2 für einen anderen Punkt.
iv) Wenn kein weiterer Punkt in die Begrenzung eingefügt werden kann, stoppen Sie.
Jetzt ist das Problem bei jeder Probe Test-Set, alle Punkte werden in der Grenze enthalten. Meine Zweifel sind:
i) Ist das eine konkave Hülle?
ii) Worin unterscheidet sich das, wenn ich einfach die gegebenen Punkte entgegen dem Uhrzeigersinn anordne und alle Polygone zeichne und mehne, anstatt zuerst eine konvexe Hülle zu zeichnen?
iii) Stimmt es, dass ich für jede gegebene Anzahl von Punkten ein Polygon ohne Selbstschnitt durch sie zeichnen kann, so dass alle Punkte auf der Grenze des Polygons liegen?
sein kann, eine [Sweep Linie Algorithmus] (https://en.wikipedia.org/wiki/Sweep_line_algorithm) helfen könnte beginnen sollte. – Scheff
Ich würde das nicht "konkav" nennen. Ich glaube, das wird "nicht-schneidend" oder "nicht selbst-schneidend" genannt. – Scheff