19得票2回答
最短路径和测地线

给定一个完全由四边形构成的网格,其中每个顶点的度数为n(n>=3),且不位于同一平面上,我需要找到网格中每个顶点与一组闭合种子顶点之间的距离。也就是说,给定一个或多个网格顶点(种子集),我需要建立一个距离映射,存储每个网格顶点到种子集的距离(它们到自身的距离为0)。 经过一些时间的搜索可能的...

19得票3回答
寻找近邻

我需要在一组点中找到“邻近”的邻居。 上图中有10个点。红线是Delaunay Triangulation的边缘,黑色星号标记边缘的中线,蓝线是Voronoi tesselation。点1有三个“近”邻居,即4、6和7,但不包括2和3,它们几乎与边缘1-7成一条直线,但距离更远。 如何...

19得票8回答
从Delaunay三角剖分计算alpha形状的边界多边形

给定一组平面点,对于给定的正数alpha,定义了alpha-shape的概念,通过找到Delaunay三角剖分并删除至少有一个边长超过alpha的三角形来实现。以下是使用d3的示例: http://bl.ocks.org/gka/1552725 问题在于,当存在成千上万的点时,简单地绘制所...

18得票2回答
当我们有坐标列表时,如何在JTS中创建一个多边形?

我们可以使用坐标列表创建一个LineString,如下所示: Geometry g1 = new GeometryFactory().createLineString(coordinates); 如何使用坐标列表创建多边形? 先行致谢。

18得票2回答
将凸多边形嵌入另一个多边形中

我正在寻找一种算法,可以检查一个凸多边形(形状1)是否适应另一个多边形(形状2)。 我的第一次研究引导我到“填装不规则形状”。在我看来,这有点过度了。我只有一个容器和一个物体。 形状1通常是凸多边形。形状2可以是凸多边形或凹多边形。 我的应用:我有3D激光扫描仪来测量原木,它给出了形状2...

18得票5回答
有哪些适用于垃圾回收语言的计算几何库(如CGAL)?

我需要一个库来处理计算几何,尤其是布尔运算,在项目中使用,但几乎每个功能都很有用。最好的库是CGAL,但这种项目如果没有垃圾回收,我会犹豫。 您可以推荐哪些语言/库组合?到目前为止,我最好的选择是将CGAL导入D。还有一个项目可以为CGAL制作Python绑定,但非常不完整。

18得票3回答
相机姿态估计(OpenCV PnP)

我正在尝试使用我的网络摄像头从具有已知全局位置的四个基准标记的图像中获取全局姿态估计。 我查看了许多StackExchange问题和一些论文,但似乎无法得到正确的解决方案。我得到的位置数字是可重复的,但与相机移动方式没有线性比例关系。FYI,我正在使用C++ OpenCV 2.1。 此链接...

18得票2回答
Voronoi - 计算每个区域的精确边界

我正在尝试使用scipy.spatial.Voronoi计算在所有点都位于预定义多边形内的Voronoi图的每个区域的确切边界。例如,使用此文档中的示例。 如果我需要使用相同的点计算位于以下边界矩形内的Voronoi图会怎样?global_boundaries = np.array([[-2,...

18得票3回答
高效的线条平滑和/或简化

我正在使用ActionScript创建一个绘画应用程序(尽管我的问题与ActionScript无关)。基本想法是在鼠标按下并跟踪鼠标移动时开始绘图。我想要实现的是: 减少鼠标“噪音”和 创建更平滑的线条。 目前,(1)存在问题,因为我在几秒钟内会得到数千个鼠标移动。由于 (1) 的影响...

18得票3回答
有一个健壮的C++实现Bentley-Ottmann算法吗?

Bentley-Ottoman算法可以在一组线段中找到所有的交叉点。作为一个众所周知且重要的算法,令人感到奇怪的是,一个能够处理所有退化情况(即不对扫描线和交点数量等做特殊假设)的Bentley-Ottmann算法的C++实现竟然没有提供。我能找到的唯一代码是 这里,但它似乎无法处理广义情况。...