【发布时间】:2016-04-15 22:03:33
【问题描述】:
有没有一种更有效的方法来获取 (2D) delaunay 三角剖分中所有顶点的第二近邻,而不是为每个顶点集计算最多两条边可达的顶点并从中选择第二近的顶点?
因为即使我们知道在什么最大距离处可以找到它,范围搜索似乎仍然比较慢。
【问题讨论】:
标签: c++ graph cgal triangulation delaunay
有没有一种更有效的方法来获取 (2D) delaunay 三角剖分中所有顶点的第二近邻,而不是为每个顶点集计算最多两条边可达的顶点并从中选择第二近的顶点?
因为即使我们知道在什么最大距离处可以找到它,范围搜索似乎仍然比较慢。
【问题讨论】:
标签: c++ graph cgal triangulation delaunay
要获得 Delaunay 顶点的第二近邻,您无需检查在该顶点的两个边跳范围内可以到达的所有顶点。顶点 v 的第二近邻是:
考虑这张图片中的红色顶点
及其第二近邻。看看有问题的顶点和它的第二个最近邻居之间的直径的球。如果球是空的,那么它是相关顶点的 Delaunay 邻居。如果该球包含任何其他顶点,则它必须仅包含一个最近邻。此外,我们可以想象缩小球,直到最近的和次近的邻居都在边界上。该球将是空的,以确保最近的和次近的邻居本身就是 Delaunay 邻居。
【讨论】:
这是我几年前的考试题目。
【讨论】: