あなたが説明していることは、ジェスチャー認識技術に関連している可能性があるため、アイデアを検索できます。
明らかなアプローチは、カーブ フィットを適用することですが、これにより、すべての興味深い詳細とよじれが滑らかになります。推奨されるもう 1 つのアプローチは、速度と加速度を調べることですが、それは面倒なことになる可能性があります (方向転換は非常に速くても、非常に遅く意図的に行うこともできます)。
かなり基本的ですが効果的なアプローチは、サンプルをポリラインに直接単純化することです。
たとえば、サンプル (例) をサンプル 1 からサンプル 4 まで調べて、4 つのサンプルすべてが 1 と 4 の間の直線の妥当な誤差内にあるかどうかを確認します。 .5 開始点から終了点までの直線が、これらのサンプルによって定義された曲線の妥当な近似値を提供しなくなるまで繰り返します。前のサンプル ポイントまで線分を作成し、新しい線分の蓄積を開始します。
サンプルが互いに近すぎる場合はしきい値に注意する必要があるため、サンプルが互いに 4 ~ 5 ピクセル未満離れている場合は感度を調整する必要があります。
これにより、元のパスをかなり正確にたどる一連の直線が得られます。
追加のスムージングが必要な場合、またはスケーラブルなベクター グラフィックを作成する場合は、ポリラインからカーブ フィットを行うことができます。最初に、キンク (ある線と次の線の間の角度が鋭いポリライン内の場所 - たとえば、140 度を超えるものは滑らかな曲線と見なされ、それ未満のものはキンクと見なされます) を特定し、それらの不連続点でポリラインを分割します。 . 次に、元のジェスチャのこれらの各サブセクションをカーブ フィットして滑らかにします。これにより、滑らかなものが滑らかになり、キンクがシャープになります。(さらに進んで、これらの鋭い接合部の代わりに小さな滑らかなコーナー フィレットを挿入して、接合部の鋭さを減らすことができます)。
ブルートフォースですが、それはあなたが望むものを達成するかもしれません.