入力として、長方形のリストである任意の「フォーメーション」Fがあります。
また、別の入力として、2D 点の順序付けられていないリストP :
この例では、P がフォーメーション F に一致すると考えます。なぜなら、 Pを反時計回りに 45 度回転させると、Fの各長方形は点を含むことで満たされるからです。Pに四角形に収まらない余分な点があった場合も、一致と見なされます。
フォーメーションもポイント入力も特定の起点を持たず、2 つの縮尺が同じである必要はありません。たとえば、フォーメーションは 1 キロメートルの面積を表し、入力ポイントは 1 センチメートルの面積を表すことができます。 . そして最後に、どのポイントが編隊のどのノードに到達したかを知る必要があります。
これらの制約をすべて満たす汎用アルゴリズムを開発しようとしています。位置情報の大規模なデータベースに対して毎秒数百万回実行されるため、できるだけ早く「失敗」するようにしています。
両方の入力のすべてのポイント間の角度を取得してそれらを比較するか、船体を計算して比較することを検討しましたが、すべてのアプローチは制約の 1 つによってバラバラになるようです。
フォーメーションのポイントは、x、y の原点と許容範囲の半径を持つ円として簡単に表すこともできます。堅実な攻撃計画またはA-Ha! をいただければ幸いです。洞察。