• 三角网格库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

  • 相关阅读:
    Redis数据类型-Hash-存储结构之ziplist
    Cookie的使用(基于js-cookie插件)
    数据库小记-mysql-DDL、DML、DQL
    【毕业设计】stm32微信天气机器人 - 物联网 嵌入式 单片机
    静态时序分析-OCV和time derate
    【Unity ShaderGraph】| 快速制作一个实用的 模型溶解效果
    C++(21):特殊工具与技术
    css复习
    云安全—Dashboard 攻击面
    linux/CentOS 服务器中cpu、内存、磁盘及中间件监听,钉钉机器人告警
  • 原文地址:https://blog.csdn.net/LearnToStick/article/details/126879842