问题标签 [delaunay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
46704 浏览

algorithm - 从具有 x、y 和 z 坐标的点生成网格

问题:从 3D 点生成网格(使用 x、y 和 z 坐标)。

在此处输入图像描述

在此处输入图像描述

我所拥有的是 3D 空间中的点(具有 x、y 和 z 坐标),您可以在图像 1 中看到它。
输出是图像 2 或图像 3,或图像 4。简而言之,它将是网格。如果我有网格,可以提供上面的材料。

我看到很多人说 Delaunay 三角剖分或约束 Delaunay 三角剖分将帮助我生成网格,但我主要发现的是它在 2D 点中的实现(只有 x 和 Y 坐标)。

但我的问题是:从图 1 中可以看出,我有 3D 点。

Delaunay 三角剖分或约束 Delaunay 三角剖分是否适用于 3D 点?如果是,那么如何?还是我必须找到另一种从 3D 点生成网格的算法?

注意:可以在此处找到对 2D 点的 Delaunay 三角剖分的一个很好的解释

0 投票
3 回答
12099 浏览

matlab - 寻找附近的邻居

我需要在一组点中找到“近”邻居。

点集

上图中有 10 个点。红线是Delaunay 三角剖分的边缘,黑色星星标记边缘的中线,蓝线是Voronoi 镶嵌。点 1 有 3 个“近”邻居,即 4、6 和 7,但不是 2 和 3,它们几乎与边缘 1-7 一致,但距离更远。

什么是识别近邻(或“好”边缘)的好方法?看这个图,在我看来,要么选择中点落在与 Voronoi 线相交的边缘,要么将那些与 Voronoi 细胞接触的边缘视为“近”邻居,这可能是一个很好的解决方案(3-5 的分类)可以去任何一种方式)。是否有一种在 Matlab 中实现任一解决方案的有效方法(我很高兴得到一个好的通用算法,然后我可以将其转换为 Matlab,顺便说一句)?

0 投票
2 回答
2436 浏览

python - 从使用 matplotlib 生成的 delaunay 三角测量中获取外心

如果我使用 matplotlib 为一组点生成 delaunay 三角剖分,那么获取已生成三角形的外心的最合适方法是什么?我还没有设法在 Triangulation 库中找到一个明显的方法来做到这一点。

0 投票
2 回答
2719 浏览

r - 在不规则网格上绘制和着色数据

我有 (x, y, z) 形式的数据,其中 x 和 y 不在常规网格上。我希望显示这些数据的 2D 颜色图,其中强度(例如灰度)映射到 z 变量。一个明显的解决方案是在规则网格上插值(见下文),

在此处输入图像描述

但是,这会丢失初始网格的信息(具有实际数据的点的位置),这些信息在某些位置可能非常精细或非常粗糙。我更喜欢使用三角形的 delaunay 平铺,它准确地代表了原始数据点的实际位置和密度。

理想情况下,解决方案将

  • 在绘图函数之外计算曲面细分,以便可以使用 、 或 基本图形来绘制生成ggplot2lattice多边形

  • 快点。在我的真实示例中(约 1e5 分),曲面细分的计算deldir可能非常缓慢。

“镶嵌”是指 Delaunay 三角形或 Voronoi 图,尽管我更喜欢前者。然而,它带来了基于原始数据点对每个三角形的颜色进行插值的额外复杂性。

0 投票
2 回答
9324 浏览

java - Delaunay 用孔对二维多边形进行三角剖分

我想用孔对复杂的(但不是自相交的)多边形进行三角剖分,以便生成的三角形都位于多边形内,完全覆盖该多边形,并遵守德劳内三角形规则。

显然,我可以为所有点构建 Delaunay 三角剖分,但我担心多边形的某些边缘不会包含在生成的三角剖分中。

那么,这样的三角测量可能吗?如果是,我该怎么做?

以防万一-我需要它来构造多边形中轴的近似值(我希望可以通过连接生成的三角形的所有圆周点来完成)。

0 投票
1 回答
11350 浏览

java - 这个 delaunay 三角测量代码是如何工作的?

我有这个Java代码,输入中的一组Point返回一组代表Delaunay三角剖分的图形边缘。

我想知道使用了什么策略来做到这一点,如果存在的话,使用的算法的名称。

在这段代码中,GraphEdge 包含两个 awt Point 并表示三角剖分中的一条边,GraphPoint 扩展了 Awt Point,最终三角剖分的边在 TreeSet 对象中返回。

我的目的是了解此方法的工作原理:

在此三角测量的完整源代码下方:

0 投票
4 回答
565 浏览

algorithm - 3 维的 Delauny Mesh Triangulation 算法的输出应该是什么?

如果这是输入点:

在此处输入图像描述

Delauny Mesh Triangulation 算法,那么Delauny Mesh Triangulation 算法3 维输出会是什么?

A. 这个:

在此处输入图像描述

B.这个 [所有给定输入点的 ConvexHull]

在此处输入图像描述

你的答案是什么?一个

0 投票
1 回答
1076 浏览

2d - 来自 delaunay 三角剖分的 Voronoi

我几乎完成了我的 Delaunay / Voronoi 三角测量,这很难。我没有使用 Fortun 的代码,我创建了 Delaunay 三角器,并从中推导出了 Voronoi 图。

但是有一个问题;无限的线条。我找不到一种方法来定义由那些无限线分隔的 Voronoi 单元格,我几乎尝试过任何方法。有什么建议吗?

0 投票
1 回答
9837 浏览

python - python scipy Delaunay绘制点云

我有一个 pointlist=[p1,p2,p3...] 其中 p1 = [x1,y1],p2=[x2,y2] ...

我想使用 scipy.spatial.Delaunay 对这些点云进行三角剖分,然后绘制它

我怎样才能做到这一点 ?

Delaunay 的文档真的很稀缺

到目前为止我有这个代码

谢谢

0 投票
1 回答
2565 浏览

c++ - CGAL:找到点所属的面/三角形?

在阅读了它之后,我来到了这个:

那应该找到外接圆包含该点的面。在那之后,我必须采用这些三角形并使用一种方法来测试点是否在我认为的内部(CGAL 会这样做吗?我知道它很容易实现)。

无论如何,我怎样才能把三角形从脸上弄出来?

答案是

ETC

我不知道如何很好地使用 Triangle 类,但这至少是一个开始。

我打算做出一个实际的答案,但stackoverflow不允许我这样做。