4

マウスをトレースし、1/2秒ごとにその位置を記録する形状認識プログラムを作成したいと思います。これらのポイントを使用して大まかなポリゴンを見つけるにはどうすればよいですか?言い換えれば、三角形や正方形に似た形を描くだけの場合、それは50-100ゴンになる可能性が高くなりますが、どうすればそれを単純化して、私が描き込もうとした形を得ることができますか?私はあなたが遺伝的アルゴリズムを行うことができることを知っていますが、それがどのように機能するか正確にはわかりません。そして私は代替案を知りたいです。

編集:凸包は機能しません。凹面を維持する必要があります。

4

2 に答える 2

3

これを試してみます。

  1. マウスクリックダウンイベントが発生したときに位置を呼び出しましょうポイントSTART
  2. すべての間隔はCURRと呼ばれる別の位置を取ります
  3. 前のCURR、PREVを呼び出すことができます
  4. CURRとPREVの間の傾き(デルタy /デルタx)を計算します。
  5. CURRとSTARTの間の線の傾きを計算します
  6. 2つの勾配の差のしきい値を定義します
  7. 勾配がしきい値を超える場合、
    1. STARTとCURRの間の行をサイドとして保存します
    2. CURRを新しいSTARTとして定義します
  8. CURRが元のSTARTの特定の半径内にあるか、前の側面の1つと交差するまで繰り返します

辺を数えるだけで形がわかるかもしれません。

于 2011-06-04T02:31:58.050 に答える
1

100角形に沿った各点について、その点と両側の点によって形成される小さな三角形の領域を見つけます。最小の三角形を作成したポイントを削除します。最小の三角形があるしきい値より大きくなるまで繰り返します。

于 2011-06-04T03:12:08.540 に答える