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