(我不确定标题是否是最好的描述,必要时我会编辑)
我正在尝试创建一个voronoi区域来实现游戏中的分屏效果。我正在遵循此PDF中概述的步骤。据我所知:
我找到了第三步的算法,其中我被困在如何找到每个区域的顶点。以此图像为例:
看着C玩家,我想我需要找到A/C线、B/C线和D/C线的交点。很简单。我被卡住的地方是,如果一条线碰到了一条边缘,那么我必须为它击中边缘的位置找到顶点,再加上区域中的任何角落(就像这张图像中的左下角)。但是我不能把区域的两边作为线,因为有超过4名玩家,一个区域不能保证接触屏幕的边缘,所以这些点需要被丢弃,我不知道如何在这个过程中考虑到这一点。
如果有什么不同的话,我是用C# / Unity来做的。
发布于 2021-03-30 16:52:19
我认为看一看关于图解的wiki文章和它们的双图(称为Delaunay三角 )可能是有益的。如果您可以构造Voronoi图,那么您可以构造它的对偶Delaunay三角剖分,反之亦然。Voronoi图的顶点是包围Delaunay三角剖分三角形的圆心。因此,每个Voronoi顶点都是Delaunay三角剖分法对应的对偶三角形的三个正交等分子的交点。
特别是,对于某些特定的算法,您可以查看:“财富”算法或Bowyer-Watson算法的对偶。
https://stackoverflow.com/questions/66862234
复制相似问题