简介:
Triangle是一款简单好用但是功能强大的网格剖分程序,可以将任意二维图形根据需要剖分为三角网格,是目前网格处理方面比较推崇的几个几何库之一。
下载Triangle库:传送门
我下载的是zip包
解压:
unzip triangle.zip
解压完成如下所示:
几个C文件为Triangle源文件,makefile为其内置编写好的安装命令,h文件为编译时需要的头文件,poly文件为Triangle自带的一个简单图形示例,README为Triangle说明文件,里面详细介绍了Triangle使用方法。
使用make编译:
make
对A.poly进行网格划分:
./triangle -p A.poly
此时会生成node等一系列的文件:
运行案例:
showme为Triangle库的一个简单可视化的工具
./showme A.poly
运行结果:
具体信息:
- *.node文件:包含顶点(或节点)的平面坐标(x,y);
- *.ele文件:包含三角形(或元素)的拓扑表信息,这个表信息的各行表示各个三角形的节点号(按逆时针顺序);
- edge:边信息,不过目前不知道用啥命令生成,后续会更新
- adj:同上。。。
A.poly文件分析:
第一行:
<结点总数> <图形维数(对于poly文件,该值必须为2)> <是否有结点属性值(0 or 1)> <是否有边界点标记(0 or 1)>
余下n行:
<结点编号> <坐标> [结点属性值](这个具体目前不知道干什么用) [结点边界标记]
第一行:
<边的总数> <边是否有边界标记(0 or 1)>
注意:上述的边(segment)指强制存在于网格区域或人工输入的边。
余下n行:
<边的编号> <端点序号> <另一端点序号> <边的边界标记>
第一行:
<网格剖分区域内空心区域的个数>
余下n行:
<外轮廓上点的序号(一般以 1,2,3...顺序依次输入)> <该点的坐标>
A.1.ele文件分析:
第一行:
<三角网格总数> <三角形各顶点的节点编号(由三个数字构成)> <网格中心是否有属性值(0 or 1)>
余下n行:
<网格编号> <节点1> <节点2> <节点3> ... [网格中心属性值]
如何在项目中使用: