注意:我不确定这个问题是否属于这里,如果合适,请移至适当的 stackexchange 站点。
我正在开发一个多人游戏。
我想在我的代码中维护:2d 集群。
什么是集群:它们是用户的聚合(用户周围的凸包)。
什么是用户:用户有 ax,y 位置和他可以影响的信封。理想情况下,信封可以是一个圆形,其半径是他能看到多远。集群中的每个用户信封应与同一集群中的至少一个其他信封相交。
在图中,我有 4 个集群。第 2 和第 3 幅图显示了随着用户移动新集群将如何形成。
随着用户四处移动,集群将分裂或合并以保持上述属性。
我想知道“动力学凸包”是否是我应该寻找解决方案以在我的 c++ 游戏代码中实现这种集群维护的正确区域。
注意:我现在正在阅读有关动力学凸包的信息,但我还没有完成,但我认为它涉及围绕一组固定点形成凸包。我需要那个,但我还需要将船体分成两个或更多,当船体内的用户信封不与同一船体内的其他信封相交时。例如上面第三张图片中的 A。