我试图为输入x和y坐标正交且相对等距的特定情况构建Delaunay三角剖分。
由于数据量相对较大(1000x1200个三角测量点),而且Qhull算法不知道我的额外正交条件,三角测量相对较慢(在我的机器上需要25秒)。
因此,我想手动构建一个Delaunay三角剖分,将每个已知四边形细分为两个三角形。我知道这不会总是产生有效的Delaunay三角剖分(例如,当x和y步长显著不同时),但在我的情况下,我很有信心细分方法会产生良好的三角剖分。
在下图中,我用索引、初始顶点和顶点定义方向标记了每个三角形:
在这种情况下,我有x和y坐标
[-1, 1.33, 3.67, 6]
和
[2, 4.5, 7, 9.5, 12]
分别地
我目前正在使用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
属性是否正确?
-
有没有一种工具已经为我做了这件事?
-
我可以计算
方程式
在不经过Qhull的情况下,给定正交和基本等距的情况下的参数值?