我想在平坦地形上的对手区域之间动态生成边界,并在3d策略游戏中使用一些点(“基础”)(例如外星人和人类基地)。每个基地都有自己的“影响之地”,因此边界应该在冲突基地之间的适当距离。如果你玩过Settlers I,II等,你应该明白我的意思。
所以我有一系列基本坐标,想要得到折线数组,描述这些边界。
拜托,您能为我推荐任何解决方案(可能是一些算法甚至是现成的包)。
所需边框的示例:
答案 0 :(得分:5)
听起来你想要Voronoi diagram。下面是2D图,但相同的算法也适用于3D。
答案 1 :(得分:1)
我想你可能想要适当考虑weighted Voronoi diagram。在标准VD中,只有到距最近控制点的距离才能确定单元格,但从您的示例中看,您希望控制点即使在不是最近点时也能产生影响。
例如,尽管最近的控制点为蓝色,但最高蓝点左侧有一个位于红色区域的区域:
我认为这是因为NW最红点会产生影响,如箭头所示。
从维基百科页面和the Google image search results for weighted Voronoi diagram链接的“评论”表明,这种影响,导致更圆的边界,是可以实现的,尽管显然有进一步的研究等待着你。