應用delaunay三角剖分法後,是否可以找到每個三角形的面積? matlab中有沒有什麼功能可以做到這一點?請澄清我。先謝謝了Delaunay三角剖分的合成三角形的尋找面積
回答
這可以用polyarea做 - 注意,使用了dim
選項。
tri = delaunay(x,y);
areas = polyarea(tri(x),tri(y),2);
我面臨同樣的懷疑,但幸運的是,我能破解它,試試這個:
tri = delaunay(x,y);
areas = polyarea(x(tri'),y(tri'),2);
這會給你形成每一個三角形的區域。
如果您發現任何問題,請告訴我。
P.S:所述tri'
指矩陣的轉置。
嗨... thnx fr回覆...但我有160個三角形。我需要找到所有三角形的面積...我無法得到與上述代碼的答案 – user3260487
嗨, 我不知道爲什麼會這樣,矢量地區將是一個160 * 1向量在你的情況。如果您想要,您可以在工作區中查看相同的內容。 最後,矢量的索引將與tri的索引相同。 如果需要,請隨時詢問:) – Vishu
只是爲了澄清......所有三角形的面積是指每個三角形的面積或所有三角形面積的總和? – Vishu
此解決方案有效,但未進行矢量化。
DT = delaunayTriangulation(X,Y);
NTriangles = size(DT.ConnectivityList,1);
% Triangles' Area Calculation (Try to vectorize)
Areas = zeros(NTriangles,1);
for i = 1:NTriangles
PointIndexes = DT.ConnectivityList(i,:);
Areas(i) = polyarea(DT.Points(PointIndexes,1),DT.Points(PointIndexes,2));
end
- 1. 三維Delaunay三角剖分
- 2. 使用約束delaunay三角剖分三角剖分多邊形
- 3. Delaunay三角剖分opencv C++
- 4. 瞭解Delaunay三角剖分
- 5. 點雲Delaunay三角剖分
- 6. 如何從凹形Delaunay三角剖分中切出三角形?
- 7. Delaunay三角剖分:太多的三角形
- 8. OpenCV:從Delaunay三角剖分提取三角形
- 9. 如何從3D Delaunay三角剖分中獲得三角形
- 10. 由於約束Delaunay三角剖分而識別出多邊形三角剖分
- 11. 高效的Delaunay三角剖分
- 12. 從lua的C++ Delaunay三角剖分
- 13. 3D Delaunay三角剖分C#lib?
- 14. 優化Delaunay三角剖分算法
- 15. 用Delaunay三角剖分(n-dim)插值
- 16. 在三角形中訪問頂點++(delaunay/voronoi三角剖分)包裝類
- 17. 從N點形成非凸表面的delaunay三角剖分(DelaunayTri for 5-D case)
- 18. 來自加權Delaunay三角剖分的Alpha形狀
- 19. 單調多邊形的Delaunay三角剖分
- 20. 網格隱藏對角線的Delaunay三角剖分或
- 21. 修補Delaunay三角形
- 22. Delaunay使用孔對二維多邊形進行三角剖分
- 23. 積分在三角形內
- 24. 尋找繪製三角形
- 25. 多邊形的三角剖分
- 26. L形區域的三角剖分
- 27. 給定一組三角形的長度,找到最大面積三角形
- 28. Delaunay三角在C++
- 29. 尋找最小允許的三角形的第三面
- 30. 如何在R中設置Delaunay三角剖分中的三角形邊的最大長度?
你可以寫你自己的。檢查['delauny']的輸出(http://www.mathworks.com/help/matlab/ref/delaunay.html)。它給你指數的點數。然後你可以計算三面,並使用[this](http://www.mathsisfun.com/geometry/herons-formula.html)公式。 –