• 三角网格库Triangle的使用


    简介:

            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
    

    运行结果:

    具体信息:

    1. *.node文件:包含顶点(或节点)的平面坐标(x,y);
    2. *.ele文件:包含三角形(或元素)的拓扑表信息,这个表信息的各行表示各个三角形的节点号(按逆时针顺序);
    3. edge:边信息,不过目前不知道用啥命令生成,后续会更新
    4. 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> ... [网格中心属性值] 
    如何在项目中使用:

    主要参考链接:传送门1 ,传送门2 ,传送门3传送门4

  • 相关阅读:
    C++学习之路-类模板之泛型动态数组的实现
    网络编程TCP/UDP通信
    大数据毕业设计选题推荐-市天气预警实时监控平台-Hadoop-Spark-Hive
    【365天深度学习训练营】第二周 彩色图片分类
    黑龙江省人口与社会经济数据集(2015-2016年)
    【Java SE】封装的详解
    1151 LCA in a Binary Tree
    linux内核漏洞(CVE-2022-0847)
    制作win11系统盘
    jwbasta-Springboot集成Quartz
  • 原文地址:https://blog.csdn.net/LearnToStick/article/details/126879842