我正在尝试以编程方式制作一张全部粘在一起的三角形图像。我认为解决这个问题的方法是随机选择一些点,然后将它们“连接”成三角形。问题是我无法想出连接它们的好方法。
我想做的一件事是选择一个随机点作为起点(点 1),然后找到最近的点(点 2),然后“连接”它们。然后,我会通过选择与点 1 和点 2 的总距离最小的那个点来找到最近的第三个点。这将给我一个三角形。我可以重复这个直到我有一堆三角形。这里的问题是三角形将分开(它们不会连接)。
我是不是多虑了?有更简单的方法吗?
最佳答案
您要找的是Delaunay triangulation !
它的基本作用是将三个点组合成一个三角形,如果穿过它们的圆不包含任何其他点,并且它可以高效地完成此操作。会出现一条直线上的点,或同一圆上超过 3 个点的特殊情况。
关于image - 如何将点变成三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785690/