我现在在学习基于Netgen的四面体剖分方法,但是一直困惑于“添加约束面”问题,即两个有包含关系的闭合曲面的剖分问题。
我写的算法主要用于地址勘探和开发等领域,如勘探金矿时,金矿被地层包围,金矿是一个闭合曲面,外面的地层是一个闭合曲面,但是在剖分外面地层的时候不能穿过金矿,金矿的闭合曲面相当于一个约束面。
画一个简略的图形说明我的问题,如下图
如果图形是用STL格式的文件存储的,能用Netgen解决添加约束面问题也可以,谢谢!
在建立物体的STL模型时,能不能把包含关系建立在模型文件里?如上面第一个简略图,有三个闭合曲面,可不可以建立一个文件,在这一个文件里反映出三个闭合曲面的相互关系。
netgen算法里有两个函数
Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
这两个接口函数的用处是什么?
这个问题我觉得可以变通解决,不一定非得要在算法中达到完全自动化,个人建议,我也在做矿产相关的研究,可以在我的博客主页加我QQ,互相交流学习。
您好,我加您QQ了
netgen里的下面这两个接口函数是做什么的,看它的解释感觉跟多曲面四面体剖分有关
Ng_MergeMesh(Ng_Mesh * mesh, const char* filename);
Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2);
闭合曲面内包含若干闭合曲面,这也是造型算法中需要考虑的。一般一个面由若干个环组成,外环即为你这是描述的外面的闭合曲面;
内环即为内部的孔。在OpenGL中也有相关的内容,会根据闭合环中方向来区别外环与内环,从而实现曲面的网格化。
如果模型是用STL格式的话,没有这种拓朴关系了。
这种模型在netgen中可以被剖分么?
你说的是下面这种情况吗
Netgen能很好的对这种情况进行剖分,如下所示
有多个闭合曲面,如果当做一个物体建立一个模型的话,netgen是很容易进行剖分的。
但是这些闭合曲面分别建立各自的模型,如我问题里两个正方体建立了两个模型,把其中一个当做约束面,这样就不知道怎么调用netgen里的接口函数了
@爱学习爱C++:
可以在外面把模型建好后,生成STL导入netgen?
@opencascade:
可以,netgen可以直接剖分STL格式的模型,STL建模的时候可不可以把包含关系建在模型文件里?