作为CG新手,我想知道是否存在不仅仅基于站点之间的欧几里得距离而是某些其他度量的Voronoi分区,这样的分区还会保留Voronoi图的属性吗?
在阅读教科书时,我遇到了一个Voronoi图的示例,其中2D平面上的位置代表足球运动员,如果球碰巧位于某些运动员的Voronoi地区,则意味着他应该朝着它前进,因为他离它最近。现在,如果不仅仅考虑玩家之间的欧几里得距离,我们还考虑了他们的速度,更快的玩家拥有更大的Voronoi单元。
我们失去对分的事实会破坏Voronoi图本身的结构吗?
答案 0 :(得分:5)
看看Power Diagrams和Weighted Voronoï Diagrams。它们是广义的Voronoï图,具有与每个站点相关的权重(在功率图的情况下为圆半径)。
您可以使用它来衡量每个站点的速度,或者更改距离的概念以包括速度。这样,您将失去平分线的直线属性,因为根据新的距离计算(look here),它们可能会弯曲。
对于足球运动员,从点p
到运动员速度为p_i
的地点v_i
的新距离函数为:
d(p, p_i) = EuclideanDistance(p, p_i) / v_i
这可以更好地解释为玩家以速度v_i
奔跑达到该点所花费的时间。这样可以生成如下图,其中显示的数字是权重1/v_i
: