fem_3d网格划分
需要的变量
pos:点的位置
nie:各单元点的全局编码
ndi:dirichlet面的点和需要强加的值(第一类边界条件)
ns:第三类边界条件
p_corner:用来记录角上的点
relation_e:单元之间的位置关系
步骤1:建立初始四面体
1.首先分割各个面
2.遍历所有在角上的面,其与相邻的三个顶点形成四面体,可以对该四面体进行初始化的条件为:
a.该四面体在物体内部(可利用四个点的顺序判断)
b.首先考虑三面边界的四面体
c.没有其他点在该四面体内部
删除掉该四面体后,更新边界面:
a.如果该四面体两面为边界,则更新边界
b.如果该四面体三面为边界,则删除一点
重复上述过程,直至结束
需要的函数
1.is_tetrahedron([ip1,ip2,ip3,ip4])
判断四个点是否可以组成四面体:满足逆时针上原则
2.is_in_tetrahedron(ip_test,[ip1,ip2,ip3,ip4])
判断一个点是否在四面体内部
3.
步骤2:填充内部点
需要的函数
其他函数
1.draw_object
绘制立体的函数