給定一個點集(即3XN頂點數組),我如何使用matlab對它進行三角化? 假設點集確實表示某個物體的某個表面,並且不包含任何噪音。matlab:三角點集
編輯: 所選擇的答案給出了一個方法來創建一個網格的四面體。我正在尋找三角測量;對於我的凸形的特定情況,凸包(使用convhulln
,如答案的評論中所建議的)就足夠了。通過調用
DT = DelaunayTri(coordinates);
創建三角測量對象,其中coordinates
是N-通過-3(或2)陣列的:
給定一個點集(即3XN頂點數組),我如何使用matlab對它進行三角化? 假設點集確實表示某個物體的某個表面,並且不包含任何噪音。matlab:三角點集
編輯: 所選擇的答案給出了一個方法來創建一個網格的四面體。我正在尋找三角測量;對於我的凸形的特定情況,凸包(使用convhulln
,如答案的評論中所建議的)就足夠了。通過調用
DT = DelaunayTri(coordinates);
創建三角測量對象,其中coordinates
是N-通過-3(或2)陣列的:
要創建的Delaunay三角測量,則可以使用類DELAUNAYTRI頂點座標。
要訪問三角測量,調用
tri = DT.triangulation;
要繪製,例如呼叫
patch('Vertices',DT.X,'Faces',DT.triangulation)
'???未定義的函數或變量'DelaunayTri'。 - 我猜這隻適用於MATLAB版本> 2008(這是我的) - 我已經投票了,但有一個明確的代碼段,可以實現這個在2008年的作品? – olamundo
@noam:至少你的版本應該包含'delanauy'(http://www.mathworks.com/help/techdoc/ref/delaunay.html),它提供了類似的功能。謝謝 – eat
@eat - delaunay以二維方式進行三角化,即獲得[X Y]座標,而不是[X Y Z]。還有delaunay3,但是這會產生四面體分解,而不是三角形(它假定網格具有體積而不僅僅是曲面)。請糾正我,如果你認爲我錯了 – olamundo
使用delaunay3並轉換四面體網格成的[從在MATLAB一組內部三維散點繪製一個表面](HTTP三角形一個
可能重複://計算器.com/questions/5492806/plotting-a-surface-from-a-set-of-interior-3d-scatter-points-in-matlab) – gnovice