現在、私はユーザーがマウスの位置を0.05秒ごとにキャプチャし、ポイントと次のラインの間に線を描くことによってペイントすることができるプログラムを持っています。その設定で、私は、円、長方形または文字 'P'のような形を識別する方法を探しています。行のセットが図形に似ているかどうかを確認する方法
私の現在のアルゴリズムは、セクション上のスクリーンを分割し、プレーヤによって記録されたポイントでセクションをマークし、マーキングされたセクションでマトリックスを作り、そのマトリックスをすべての形状マトリックスと比較します。
これには、回転、サイズまたは位置のサポートがありません。また、しきい値の制御は、ほとんどの場合、偽の結果に戻るのは難しいです。 たとえば、 'P'を 'P'として識別できるアルゴリズムが必要です。
注:私の現在のアプリケーションはC++フレームワーク上で動作しているので、ライブラリやツールは歓迎しますが、私はその背後にあるアルゴリズムに興味があります。
編集:問題の周りを考えた後、私はポイントをキャプチャしてサイズを変更する代わりに、現在のグリッドを画面上で変更しました グリッドにフィットし、形。
これは、十分な速度でありながら、また入力回転し、次いでループにリサイズする回転の問題を解決することができる位置とサイズの問題を解決する(これは高いコストを有するであろうことがないであろうけれども思えます非常に信頼性が高い)
私は形状比較や回転を扱う代わりの方法を歓迎します。
いい質問といい答えです! – eRaisedToX