Kommentare zu vorhandenen Antworten:
Es scheint mir, dass Mau und Antwort des martient mit polygon mesh eine Lösung für das Problem der Annäherung eine bekannte Form beschreiben (und Sie haben nicht eine bekannte Form) .
Algorithmus, den Dave erwähnt, würde jede Form glätten, aber nicht unbedingt in der beabsichtigten Weise.
Wenn Sie sich Ihre Antwort ansehen, werden Sie sehen, dass die neuen Punkte aus der linearen Interpolation zwischen den Punkten kommen, und wenn das gut genug für Sie ist, sind alle Lösungen vergleichbar (außer Daves).
Solch eine Erhöhung der Maschendichte wird nicht machen das resultierende Netz aussehen irgendwie 'netter' - mehr Ähnlichkeit mit der ursprünglichen Form. Wenn das nicht gut genug ist, müssen Sie zuerst entscheiden, was die tatsächliche Form/Form ist, die Sie mit dem Netz darstellen wollen (wenn Sie Ihr Beispiel erweitern könnten, wäre es vielleicht etwas offensichtlicher; erzeugt dieses Werkzeug nur Kreisnetze) oder es kann irgendeine Form annehmen und es "mesh füllen"?
Auch sollten Sie beachten, dass Sie nicht mit einem Polygonnetz arbeiten, sondern mit einem Netz von Kurven (wahrscheinlich bezier), was ein weiterer Grund ist, warum einige der Antworten nicht direkt auf Ihr Problem zutreffen.
EDIT: Nach genauerem Hinsehen auf, wie corel dies tut und unter der Annahme, dass Sie tatsächlich die Kurven kennen nicht nur die Punkte (!):
- Sie beginnen mit einem Satz von Kurven, und es scheint, für mich, dass Sie horizontale und vertikale Kurven haben mit
- zu beginnen Wenn Sie die Auflösung (zum Beispiel horizontale Auflösung) erhöhen möchten, könnten Sie zwei aufeinander folgende vertikale Kurven nehmen und jedes Segment der horizontalen Kurven, die sie durchlaufen bei Mitte Punkt damit erstellen ein eine Menge von Punkten, die die neue Kurve definieren; Sie könnten auch den Winkel interpoliert bei dem die Kurve
alt text http://img706.imageshack.us/img706/5693/path5818.png
Die oben (manuell gezeichnet) Bild versucht durch den Punkt der neuen Kurve Zugabe a) zu veranschaulichen zeigt (rot), die würden Sie auf diese Weise generieren. b) Zugabe des linear interpoliert Linienzug (blau), das Polygonnetz Ansatz geht mehr in Richtung (so können Sie beurteilen, ob das für Sie akzeptabel ist)
Hinweis: Je nach Algorithmus, für die Sie das Netz vorbereiten Sie können oder sollten möglicherweise keine Vorteile darin haben, die Netzlinien als Kurven zu betrachten (der Unterschied zwischen roten und blauen Lösungen kann für bestimmte Algorithmen vernachlässigbar und für andere wichtig sein). Wenn der Algorithmus einfach Punkte erwartet, sollten Sie sich auch ansehen, wie Sie Bezierkurven mit Punkten annähern (das Lesen durch this könnte helfen, obwohl Sie keine Pixelgenauigkeit benötigen).
Für höchste Präzision/beste Ergebnisse sollten Sie zunächst die Dichte der Kurven erhöhen und diese mit Linien annähern.
Funktioniert diese "Netzfüllung" auf einer beliebigen Form oder werden nur Netze für Kreise erstellt? Mir ist nicht klar, wie es funktioniert. Welche Bedeutung haben die Farben? – Unreason
@unreason irgendeine Form. In meinem aktuellen Fall suche ich eigentlich nach einer Möglichkeit, die Auflösung für ein Gitter auf einem Rechteck zu erhöhen. * Wahrscheinlich war dieser Kreis nicht das beste Beispiel ... * Eigentlich hätte ich die Frage ohne dieses Bild stellen können. –
Ok, ich schaute auf http://www.corel.com/servlet/Satellite?pagename=Corel3/Section/Display&sid=1047024315119&gid=1047024331836&cid=1047022730336 und es funktioniert für jede Form. Wenn Sie implementieren/verstehen wollen, ich glaube nicht, dass Sie nur Punkte betrachten können, müssen Sie die Kurven und ihre interne Darstellung berücksichtigen. – Unreason