335得票25回答
如何确定多边形点列表的顺时针顺序?

有一组点的列表,如何判断它们是否按顺时针排序? 例如:point[0] = (5,0) point[1] = (6,4) point[2] = (4,5) point[3] = (1,5) point[4] = (1,0) 我会说这是逆时针方向(或者一些人称之为顺时针)。

242得票15回答
一个用于膨胀/缩小(偏移、缓冲)多边形的算法。

我该如何“膨胀”一个多边形?也就是说,我想要做类似于这样的操作: 要求新的(膨胀的)多边形的边缘/顶点与旧的(原始的)多边形保持相同的常量距离(在示例图片上它们不是,因为这样就必须使用弧线来膨胀顶点,但现在先忘记这个 ;) )。 我正在寻找的数学术语实际上是向内/向外多边形偏移。bal...

184得票8回答
按顺时针顺序排序点?

给定一个由x,y点组成的数组,如何按照顺时针(以它们的平均中心点为中心)的顺序对该数组中的点进行排序?我的目标是将这些点传递给线创建函数,最终得到的东西看起来相当“稳定”,尽可能凸出,并且没有线段相交。 值得一提的是,我正在使用Lua,但任何伪代码都将不胜感激。 更新:作为参考,这是基于C...

77得票9回答
从三维点云中重建表面的强大算法是什么?

我正在试图找出有哪些算法可以从三维范围数据中进行表面重建。乍一看,Ball pivoting algorithm (BPA) 和 Poisson surface reconstruction 看起来是更为成熟的方法? 除了BPA和Poisson表面重建算法之外,在该领域中还有什么已建立、更...

60得票11回答
如何高效确定一个多边形是凸多边形、非凸多边形还是复杂多边形?

来自XFillPolygon的手册描述: 如果shape为Complex,路径可能会自相交。请注意,路径中连续重合点不被视为自相交。 如果shape为Convex,对于多边形内的每对点,连接它们的线段不会与路径相交。如果客户端已知,请指定Convex以提高性能。如果您为非凸多...

58得票16回答
地理围栏 - 在/外多边形内的点

我想确定一个多边形,并实现一个算法来检查一个点是否在多边形内部或外部。 有没有人知道是否有任何类似算法的可用示例?

57得票6回答
在三角形网格中计算法向量

我已经用10000个顶点(100x100)绘制了一个三角网格,它将成为一个草地。我使用gldrawelements()进行绘制。我一整天都在寻找如何计算这个模型的法线,但仍然不理解。每个顶点有自己的法线还是每个三角形有自己的法线?能否指引我如何修改代码来加入法线?struct vertices...

53得票7回答
非凸多边形中最大的圆

如何找到能够适合凹多边形内部的最大圆? 只要能够实时处理具有约50个顶点的多边形,暴力算法就可以。

49得票9回答
如何快速找到距离给定点最近的点?

如何在数据数组中找到距离给定点最近的点? 例如,假设我有一个带有x、y和z坐标的3D点数组A,以及一个点(x_p,y_p,z_p)。如何找到A中距离(x_p,y_p,z_p)最近的点? 据我所知,最慢的方法是使用线性搜索。是否有更好的解决方案? 可以添加任何辅助数据结构。

49得票9回答
什么是寻找穿过大多数点的直线最有效的算法?

问题: 在二维平面上给定N个点,同一条直线上最多有多少个点? 该问题有一个O(N2)的解决方案:遍历每个点,并找到与当前点具有相同dx / dy关系的点数。为了提高效率,可以将dx / dy关系存储在哈希映射中。 是否有比O(N2)更好的解决方案?