Schluss

Ich habe in dieser Arbeit zum Thema ,,Approximation von Polygonzügen durch Bézierkurven`` eine Möglichkeit vorgestellt, wie Polygone bestmöglich durch Bézierkurven angenähert werden können. Die von mir entwickelte Möglichkeit ist ein Optimierungsverfahren, das iterativ die bestmögliche Lösung berechnet. Eine Alternative wäre es eine Bézierkurve aufgrund der Eckpunkte direkt zu berechnen und diese dann als die Bézierkurve zu deklarieren, die das Polygon bestmöglich approximiert. Im Laufe der Entwicklung der Implementation hat sich aber gezeigt, dass auf diese Weise zwar eine Bézierkurve schnell aufgestellt werden kann, die sich dem Polygon gut annähert, diese Bézierkurve dann mit großer Wahrscheinlichkeit nicht das Optimum darstellt.

Die durch meine Implementation berechneten Bézierkurven zeichnen sich dadurch aus, dass sie innerhalb meiner aufgestellten Kriterien das Optimum darstellen. Ein Ziel meiner Implementation war eine möglichst genaue Approximation zu erreichen. Dies kann zu sehr engen Kurven der Bézierkurven führen, so dass das harmonische Aussehen darunter leiden kann. Ich hätte ein Programm entwickeln können, das Bézierkurven erzeugt, die ein sehr harmonisches Bild erzeugen, aber das hätte zu großen Abstrichen in der Genauigkeit der Approximation geführt und Genauigkeit gehört für mich zu den Kernelementen einer guten Approximation.

Um ein harmonisches Aussehen mit einer genauen Approximation zu verbinden, wäre u.a. eine deutlich höhere Anzahl an elementaren Bézierkurven nötig. Daraus folgt allerdings unweigerlich eine Erhöhung der Komplexität der Bézierkurve, die wiederum zu einem hohen Rechenaufwand bei der Darstellung führt. Eine optimale Approximation ist meiner Meinung nach die beste Näherung mit geringster Komplexität, so dass ich mich auch gegen diese Möglichkeit entschieden habe.

Meine Implementation bietet zudem durch die zu wählenden Parameter eine effektive Möglichkeit auf das Aussehen der Bézierkurve Einfluss zu nehmen. Der Nutzer kann die Bézierkurve berechnen lassen, die für seine Zwecke am geeignetsten ist. Die Implementation mag außerdem durch die aufwendige Berechnung den Anschein erwecken, dass sie die Bézierkurven zu aufwendig berechnet. Das Finden der besten Bézierkurve ist diesen größeren Aufwand meines Erachtens aber Wert, da man sich durch eine bestmögliche Approximation gegen starke Nebeneffekte schützt. Diese, wie zum Beispiel das Überschneiden von Bézierkurven, können mit anderen Bézierkurven in einer Abbildung auftauchen und das Gesamtbild stark schädigen.

Meine Implementation verbindet also eine geringe Komplexität mit möglichst großer Genauigkeit. Das Auftreten von Nebeneffekten wird verhindert und dem Nutzer wird die Möglichkeit eingeräumt die Approximation den jeweiligen Anforderungen anzupassen. Somit wird dem Nutzer mit dieser Implementation ein flexibles Werkzeug in die Hand gegeben.

Karl kleine Kruse 2007-09-16