我想爲輸入x和y座標正交和相對等距的特定情況構建一個Delaunay三角剖分。由於數據尺寸相對較大(1000x1200三角點)並且Qhull算法不知道我的額外正交條件,所以三角測量相對較慢(我的機器上25秒)。定期間隔的正交網格Delaunay三角測量(計算拋物面係數)
因此,我想手動構建一個Delaunay三角剖分,每個已知的四邊形都被細分爲兩個三角形。我明白,這並不總是會導致一個有效的Delaunay三角測量(例如,當x和y步驟明顯不同時),但在我的情況下,我相當確信細分方法會產生良好的三角測量。
在下面的圖中,我已標記的每個三角形與一個索引,初始頂點和頂點的定義方向:的[-1, 1.33, 3.67, 6]
在這種情況下我有與x和y座標以及[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
屬性? - 有沒有工具可以幫我嗎?
- 我可以計算
equation
參數值給定我的正交和大部分等距的情況下沒有通過Qhull?
感謝Irineau - 這是真的很有幫助。事實證明,給定S中的頂點座標,可以使用scipy.spatial.qhull.Delaunay.lift_points計算方程(它們在S +中)。我還開了一個關於scipy郵件列表的討論(標題:Qhull Delaunay三角剖分「方程」屬性)http://www.marshut.com/iqmuii/qhull-delaunay-triangulation-equations-attribute.html – pelson