2010-12-10 30 views
2

我有一個任意的形狀,由用戶在畫布上繪製,並且我想從該形狀計算出最適合的多邊形輸出多邊形應具有的邊或邊。具體來說,我想用下面的簽名功能:從給定數量的目標邊(或邊)的形狀計算最適合的多邊形

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

舉例來說,假設我想獲得用戶繪製形狀的四邊形(說的GeneralPath),那麼我會輸入computePolygon(的GeneralPath ,4)。

我該怎麼辦?

回答

1

This paper may help you.

參考:混合遺傳算法的多邊形逼近問題,王斌和Chaojian施

+0

感謝您的的兩種類型。我發現這個問題在多邊形近似中被稱爲「min-ε問題」或「最小失真問題」。然而,科學文獻中提出的算法似乎相當複雜。如果可能的話,我正在尋找易於實現的東西。它不一定是最佳的。 – Tamori 2010-12-13 09:04:00