我正在尝试为输入x和y坐标正交且相对等距的特定情况构建Delaunay三角剖分。
鉴于数据大小相对较大(1000x1200三角测量点)并且Qhull算法不知道我的额外正交条件,三角测量相对较慢(我的机器上25秒)。
因此,我想手动构建一个Delaunay三角剖分,每个已知的四边形细分为两个三角形。我理解这并不总是会导致有效的Delaunay三角剖分(例如,当x和y步长明显不同时),但在我的情况下,我相信细分方法会产生良好的三角剖分。
在下图中,我用索引标记了每个三角形,即初始顶点和顶点定义方向:
在这种情况下,我分别有[-1, 1.33, 3.67, 6]
和[2, 4.5, 7, 9.5, 12]
的x和y坐标。
我目前正在使用SciPy包装器来处理Qhull,并且能够构建顶点和适当的邻居信息,但是很难定义equations
属性(如http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.spatial.ConvexHull.html中简要提到的那样)。
基本上,我相信这些值是每个三角形与paraboloid_scale
和paraboloid_shift
属性定义的抛物面法线的法线参数,但不能提出适合Qhull解释的幻数。每个顶点应该有n_dimensions + 1
个值,SciPy中有代码计算每个顶点与给定点的距离:
dist = d.equations[isimplex*(d.ndim+2) + d.ndim+1]
for k in xrange(d.ndim+1):
dist += d.equations[isimplex*(d.ndim+2) + k] * point[k]
所以我的问题是:
equation
属性?equation
参数值?