问题标签 [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 投票
4 回答
26837 浏览

geometry - 鉴于其点集及其 Delaunay 三角剖分,我如何推导出 Voronoi 图?

我正在开发一个游戏,我创建了一张随机的省份地图(风险或外交)。为了创建该地图,我首先生成一系列半随机点,然后计算这些点的 Delaunay 三角剖分。

完成后,我现在正在寻找创建点的 Voronoi 图,作为省边界的起点。我此时的数据(不是双关语)由原始的一系列点和 Delaunay 三角形的集合组成。

我在网上看到了很多方法来做到这一点,但其中大多数都与 Delaunay 的派生方式有关。我很想找到一些不需要集成到 Delaunay,但可以仅根据数据工作的东西。如果做不到这一点,我正在寻找相对几何新手可以理解的东西,而不是最佳速度。谢谢!

0 投票
1 回答
6286 浏览

matlab - MATLAB:创建带开口的 Delaunay 三角剖分

我有一个带有V顶点和n开口数量的多边形。如何在 MATLAB 中为这个多边形使用 Delaunay 三角剖分创建网格?

我知道我可以使用delaunay函数,但我不知道如何输入开头。

0 投票
3 回答
2516 浏览

python - Python中的Delaunay细分?

我需要在 Python 中找到多边形的 Delaunay 镶嵌,以及我能找到的唯一库(Delny,scikits)对点云进行三角剖分,而不是多边形。有什么建议么?

0 投票
3 回答
2652 浏览

triangulation - c++: CGAL 2D delauny triangulation: Concave Shapes

我目前正在进入 CGAL 进行一些 2D 三角测量任务,并且我还准备了一些简单的工作。无论如何,我真的不知道如何对凹形进行三角剖分,因为现在我总是得到所有点的凸包。基本上我想在 mouseClick 上添加点,类似于它在 illustrator 中的工作方式,以便它们顺序中的所有点都是形状的轮廓。我怎么能用 CGAL 做到这一点?一般如何对凹形进行三角测量的一个简单示例可能会让我走上正确的轨道!谢谢!

0 投票
2 回答
5441 浏览

polygon - 如何从凹面 Delaunay 三角剖分中切出三角形?

我正在使用 Delaunay 对凹多边形进行三角剖分,但它填充了凹面。如何自动删除多边形边界之外的三角形?

0 投票
5 回答
7938 浏览

c++ - 如何在 CGAL 中迭代人脸

我正在尝试使用 CGAL 进行一些 Delaunay 三角测量。我使用其中一个 CGAL 样本来计算包含高度场属性的三角剖分。

我遇到的问题是我不知道如何获得由此产生的三角测量。我想出了如何获得 face_iterator,但我不知道从那里做什么。我希望得到的是每个三角形上 3 个点的点数组的索引。

我在浏览所有嵌套模板时遇到了麻烦:

0 投票
1 回答
2587 浏览

opencv - 在labview和/或openCV中对图像进行插值和变形

我正在研究图像处理问题。我有一个投影到屏幕上的高射投影仪,我有一个可以拍摄照片的相机。我可以通过在屏幕上投影点并在相机上找到结果区域的质心,在投影仪坐标子集和相机像素子集之间建立 1:1 对应关系。因此我有一张地图

proj_x, proj_y <--> cam_x, cam_y 用于散点对

我最初的计划是使用 Mathscript 函数 griddata 来规范这个地图。这在 MATLAB 中可以正常工作,如下所示

而相机到投影仪的映射则相反

不幸的是,这段代码导致 Labview 在 meshgrid 步骤中内存不足(相机是 5 兆像素,显然对于 labview 来说太多了)

然后我开始查看 openCV,并找到了 cvRemap 函数。不幸的是,这个函数以一个正则化的像素-像素图为起点,就像我在上面试图生成的那样。但是,这让我希望在 openCV 中可以使用创建此类地图的功能。我在 openCV 1.0 API 中找不到它(由于遗留原因,我坚持使用 1.0),但我希望它在那里,或者有人有一个简单的技巧。

所以我的问题是以下之一

1)如何从散点插入openCV中的网格;(即,对于 x 和 y 的分散值,给定 z = f(x,y),如何用 f(im_x, im_y) 填充图像?

2) 假设我知道坐标系 1 中的点到坐标系 2 的分散映射,我如何执行将图像 1 映射到图像 2 的图像变换。这可以在 Labview 或 OpenCV 中实现。

注意:我正在标记这篇文章 delaunay,因为这是进行分散插值的一种方法,但更好的标签是“分散插值”

0 投票
2 回答
876 浏览

c++ - 访问三角形++中的顶点(delaunay/voronoi triangulation)包装类

我正在使用http://www.compgeom.com/~piyush/scripts/triangle/中的 triangle++ 包装类来对点云进行三角测量,以便使用 OpenGL 进行可视化。我能够输入我的观点并计算三角测量。之后,我还能够通过顶点迭代器访问顶点,它在包中包含的 main.cpp 示例中是如何显示的。现在我想通过面迭代器访问顶点(main.cpp 中还有一个示例)。我想遍历所有面并获得每个面的三个顶点。有人已经这样做了吗?我一直在尝试修改包装类约 2 天,但没有成功。

提前非常感谢!塞巴斯蒂安

0 投票
2 回答
1163 浏览

coordinates - 迭代 Delaunay 三角剖分器中的无限初始边界三角形

大多数迭代算法需要一个初始的空三角形来让球滚动。似乎一个常用的技巧就是使超三角形与点集相比非常大。

但根据“数值配方:科学计算的艺术”:

“......如果距离只是有限的(到边界点),则构造的三角剖分可能不是非常德劳内。例如,在不寻常的情况下,它的外边界可能会略微凹入,具有直径数量级的小负角“真实”点集除以到“虚构”(边界)点的距离。

那么有哪些选项可以用无穷远处的点来增加笛卡尔坐标,而不必将所有输入转换为不同的坐标系,例如齐次坐标?这些点如何与通常的几何谓词 CCW 和 Incircle 相匹配?

Incircle (a,b,c) Infinity -> False。假设 a,b,c 是有限的。

但是当 a,b,c 之一是无穷远点时呢?圆变成半平面然后测试变成逆时针检查吗?如果外接圆上有 2 个或更多点是无限的怎么办?圆圈是否扩展成一个完整的平面,导致测试始终为真?CCW呢?您如何根据在无穷远处有一个或多个点的线对点进行分类?

0 投票
1 回答
2826 浏览

c++ - 从 edge_iterator 获取 vertex_handle

我在为 Delaunay 三角剖分中的每个边的端点获取 vertex_handle 时遇到了相当大的困难。由于我为此苦苦思考了几个小时,我想也许你们中的一个人可以帮助我解决这个看似微不足道的问题:

根据取消引用 Edge_iterator 的文档,我应该得到一个 Edge_handle 和 Edge_handle 应该有成员 source() 和 target() 来简单地获取端点,但它不会编译并且似乎是错误的。像上面这样的取消引用会给我一个没有这些成员函数的 pair<>。

知道我做错了什么吗?