我有一個STL文件,其中包含座標(x,y,z)
3點(p0, p1, p2)
的一個三角形。這些三角形代表3D表面f(x,y,z)
。 STL文件可能有超過1000個三角形來表示複雜的幾何圖形。鄰居搜索算法
對於我的應用程序,我需要知道stl文件中每個三角形條目的相鄰三角形。這意味着對於每個三角形,我必須挑選3對點pair1=(p0,p1), pair2=(p0,p2), pair3= (p1,p2)
並將它們與集合中其他三角形中的一對點進行比較
實現此目的的最佳和最有效的算法是什麼?我可以使用hashtree,hashmap嗎?
您對我的解決方案有什麼看法? 1-創建一個三角形結構,其中包含三個具有x,y,z座標的點。 2-製作三角形陣列並通過讀取stl文件中的條目來更新它們。 3-使用unordered_multimap和散列函數將所有點散列到表中。 4-對於每個三角形,散列它們的點P0,P1和P2,並找出散列到表中相同位置的其他三角形的ID。 5-相鄰的三角形是在表格中有兩個共享點的那些。 – Arash
@Arash與我的方法幾乎一樣,所以它應該工作。 – Spektre