注: この質問がここに属しているかどうかはわかりません。適切な場合は、適切な stackexchange サイトに移動してください。
マルチプレイヤーゲームを開発しています。
コードで維持したいもの: 2d クラスター。
クラスターとは: ユーザーの集合体です (ユーザーを囲む凸包)。
ユーザーとは : ユーザーには、影響を与えることができる ax,y 位置と周囲のエンベロープがあります。エンベロープは理想的には円で、その半径は彼が見える範囲です。クラスター内のすべてのユーザー エンベロープは、同じクラスター内の少なくとも 1 つの他のエンベロープと交差する必要があります。
図では、4 つのクラスターがあります。2 番目と 3 番目の図は、ユーザーの移動に伴って新しいクラスターがどのように形成されるかを示しています。
ユーザーが移動すると、クラスターが分割またはマージされて、上記のプロパティが維持されます。
「動的な凸包」が、C++ ゲーム コードでこのようなクラスター メンテナンスを実装するためのソリューションを見つけるために探している適切な領域であるかどうかを知りたいです。
注: また、私は現在動的な凸包について読んでいますが、まだ完成していませんが、固定された点セットの周りに凸包を形成することを扱っていると思います。私はそれが必要ですが、ハル内のユーザーのエンベロープが同じハル内の他のエンベロープと交差しない場合、ハルを2つ以上に分割することも必要です。たとえば、上の3番目の写真のA.