2010-12-10 1 views
2

Ich habe eine beliebige Form, die vom Benutzer auf einer Leinwand gezeichnet wird, und ich möchte das am besten passende Polygon aus dieser Form berechnen von Seiten oder Kanten sollte das Ausgabe-Polygon sein. Insbesondere würde ich eine Funktion mit der folgenden Signatur mag:Berechnung des bestgeeigneten Polygons aus der Form angegebenen Anzahl der Zielseiten (oder Kanten)

polygon computePolygon(Shape shape, int numberOfSides) 
{ 
    ... 
    return polygon; // return polygon with numberOfSides sides 
} 

Zum Beispiel lassen Sie uns sagen, dass ich ein Viereck von der Form durch den Benutzer gezogen erhalten möchten (zB ein GeneralPath), dann würde ich Eingang computePolygon (GeneralPath , 4).

Wie würde ich darüber gehen?

Antwort

1

This paper may help you.

Referenz: Ein Hybrid genetischen Algorithmus für zwei Typen von polygonale Approximation Probleme, Bin Wang und Chaojian Shi

+0

Vielen Dank dafür. Ich sehe, dass dieses Problem als "Min-ε-Problem" oder "Minimal-Verzerrungsproblem" bei der Polygon-Approximation bezeichnet wird. Die vorgeschlagenen Algorithmen in der wissenschaftlichen Literatur erscheinen jedoch ziemlich komplex. Ich suche nach etwas einfach zu implementieren, wenn möglich. Es muss nicht optimal sein. – Tamori

Verwandte Themen