2016-05-01 10 views
4

座標を持つ配列に基づいて形状を作成できるアルゴリズムを探しています。 私は2つの50 x 50配列を持っています:1つはxと2番目のy座標です。配列から形状を作成するためのアルゴリズム

いつも2500ポイントがあります。次に私は別の50 x 50の配列に私の座標値を持っています。

値に基づいて3〜6の領域を作成します(たとえば、0〜100,200〜300,300〜500)。特定の値を持つ点は領域を作成します。

エリア内に1つの形状しかないかどうかを計算し、色で図形を塗りつぶすアルゴリズムが必要です。 私はそれが必要です。なぜなら、各エリアごとに特定の色で図形を塗りつぶす必要があるからです。 言語はC#です。

  1. 例ポイント。
  2. 予想されるエッジ。
  3. 結果

Example picture

+0

入力と概念が完全にわかりません。あなたが望むものを理解し、最終的なアルゴリズムをテストできるようにサンプルデータをいくつか与えることができますか? –

+0

あなたはそのセットの[Convex Hull](https://en.wikipedia.org/wiki/Convex_hull)を探しているようです。 [凸包アルゴリズム](https://en.wikipedia.org/wiki/Convex_hull_algorithms)。 –

+0

次のWebページを参照してください:https://en.wikipedia.org/wiki/Minimum_bounding_box_algorithms – jdweng

答えて

1

基本的には、クラスタを見つけるために、階層的クラスタリングを使用することができ期待。ステップ2では、あなたが多くの指標を使用することができます

  1. 各点は
  2. 最も近い2つのクラスタを見つけ、終了条件は、仕様の

カップルが満たされるまで、彼らに

  • 繰り返しをマージし、独自のクラスタです最も近いクラスタを見つける。

    ステップ3では、残りのクラスタ数が2(または他の数)のときに停止することができます。または、距離がしきい値を超えた場合に停止します。

    実際のアウトラインを見つけるには、アウトラインの面積を最小限に抑えながらアウトラインの長さを最小限にする最適化機能を用意することをおすすめします。関数を最適化するためのヒューリスティックスもあります。

    面積 - 定数*長さのようなものです。

  • 関連する問題