2017-08-02 25 views
1

我有一個3d區域的四面體網格。網格由擴展名爲.node和.ele的兩個文件定義,其中包含與節點和元素相關的數據(這是tetgen輸出文件的格式,即三維Delaunay四面體化程序)。 .node文件在每行中包含該節點的節點號和x,y,z座標。 .ele文件包含與其四個頂點相對應的元素編號和節點編號。現在,給定任何點(x1,y1,z1),決定這個點屬於哪個元素的最簡單的算法是什麼?找到一個點屬於哪個四面體元素

+0

也許計算每個四面體的邊界AABB,並插入到一個* BVH *(邊界體積層次) - >爲O(log N)×寬相*搜索。然後對每個AABB相交,看它是否在相應的四面體內 – meowgoesthedog

回答

1

如果你知道四面體的面的方向,那麼你只需要計算由點p =(x1,y1,z1)和四面體的每個面形成的四面體的體積。點p在一個四面體內部,當且僅當它對每個面形成一個正體積。


CGinC
Computational Geometry in C 片段。


相關問題