EasyMesh - A Two-Dimensional Quality Mesh Generator

简介: EasyMesh - A Two-Dimensional Quality Mesh Generator eryar@163.com Abstract. EasyMesh is developed by Bojan Niceno, it is a two-dimensional quality mesh generator.

EasyMesh - A Two-Dimensional Quality Mesh Generator

eryar@163.com

Abstract. EasyMesh is developed by Bojan Niceno, it is a two-dimensional quality mesh generator. EasyMesh can generate two dimensional, unstructured, Delaunay and constrained Delaunay triangulations in general domains. It can handle holes in the domain. The paper focus on the usage of EasyMesh.

Key Words. EasyMesh, Delaunay Triangualtion, Triangulation, Mesh

1.Introduction

目前,工程技术领域中各类物理系统的数值分析计算方法主要包括以下步骤:第一步,建立物理系统的控制方程。第二步,离散化物理系统的定义域。在工程技术领域人们通常将离散化的几何定义域的一个子域单元称为网格(mesh),将将离散化过程称为网格划分或者网格生成(mesh generation)。第三步,离散化连续PDE模型(Partial Differential Equation, PDE偏微分方程)。第四步,求解线性代数方程组。第五步,计算可视化。

网格划分技术是偏微分方程数值解法中比较关键的一步,关于网格划分的库也有很多,如Triangle,netgen, gmsh, tegen等等。网格划分技术不仅用于有限元计算,也可以用于模型的可视化。本文主要介绍这个轻量化的网格划分库EasyMesh。

2.EasyMesh Features

EasyMesh能够对于由折线围成的多空洞、多介质区域生成指定局部加密的Delaunay三角剖分。使用了很简单的文本文件作为数据的输入,生成了不同的结果文件,方便查看结果。其实将输入和输出部分稍加修改,就可以将EasyMesh内嵌到自己的程序中,而不用单独执行EasyMesh。

wps3E2D.tmp

Figure 1. EasyMesh website (http://web.mit.edu/easymesh_v1.4/www/easymesh.html)

EasyMesh也可以从上述网站中进行下载,下载后可以直接在Visual Studio中编译。

3.Using EasyMesh

用C写的EasyMesh虽然有点历史了,但是编译起来也是很顺利的,只有几个warnings。编译好生成一个EasyMesh.exe,然后像其他的控制台程序一样,通过传参数来使用。直接运行就会看到程序的完整使用说明:

wps3E3E.tmp

Figure 2. EasyMesh Help Info

可以在EasyMesh.exe的文件夹中做一个批处理文件,如EasyMesh.bat,其中内容如下:

title EasyMesh
EasyMesh
pause

这样就可以看到这个帮助信息了。使用如下命令则会生成一个例子文件:

title EasyMesh
EasyMesh +example
pause

然后再对生成的example.d进行剖分:

title EasyMesh
EasyMesh example.d +dxf
pause

将上面的三句话分别保存成一个批处理文件,运行批处理就可以得到相应的结果了。运行上面这个批处理得到对example.d的剖分结果文件example.dxf,用AutoCAD打开这个DXF文件查看结果:

wps3E3F.tmp

Figure 3. Mesh Result

wps3E40.tmp

Figure 4. Delaunay Triangulation

wps3E41.tmp

Figure 5. Voronoi Result

输入文件中比较重要的一点是边界线的方向是逆时针的,孔的线是顺时针方向的。下面将自带的几全例子文件全部生成网格:

wps3E42.tmp

Figure 6. EasyMesh example2.d +dxf

wps3E43.tmp

Figure 7. EasyMesh example3.d +dxf

wps3E44.tmp

Figure 8. EasyMesh example4.d +dxf

wps3E54.tmp

Figure 9. EasyMesh example5.d +dxf

wps3E55.tmp

Figure 10. EasyMesh example6.d +dxf

wps3E56.tmp

Figure 11. EasyMesh example7.d +dxf

通过设备下图中的spacing可以设置网格的密度:

wps3E57.tmp

Figure 12. Spacing of a point

4.Conclusion

网格划分技术广泛用于三维模型可视化,有限元计算中。借助这些开源库的力量,可以让自己快速实现一些功能。本文主要介绍了EasyMesh的用法及生成结果,如果对网格划分技术感兴趣的同学可以自己下载源码学习。

因为EasyMesh源码精巧,且包含了输入和输出部分的源码,可以将EasyMesh输入输出部分稍加修改就可以直接在自己的程序中使用,而不用单独编译成一个可执行程序。

5.References

1. EasyMesh website. http://web.mit.edu/easymesh_v1.4/www/easymesh.html

2. EasyMesh Source: http://www-dinma.univ.trieste.it/nirftc/research/easymesh/

3. 王成恩. 面向科学计算的网格划分与可视化技术. 科学出版社. 2011

4. Triangle. http://www.cs.cmu.edu/~quake/triangle.html

5. Triangle eryar. http://www.cppblog.com/eryar/archive/2014/03/29/206394.aspx

 

PDF Version: EasyMesh

目录
相关文章
|
4月前
|
算法 数据挖掘
文献解读-Genome-wide imputation using the practical haplotype graph in the heterozygous crop cassava
PHG是一种将基因组简化为一组单倍型的方法。这种方法可用于从稀疏的基因分型信息中预测杂合子物种中的全基因组单倍型。它的高精度,特别是在稀有等位基因中,在非常低的测序深度下,使其成为一种潜在的强大插补工具。
42 4
|
8月前
|
算法 BI 计算机视觉
[Initial Image Segmentation Generator]论文实现:Efficient Graph-Based Image Segmentation
[Initial Image Segmentation Generator]论文实现:Efficient Graph-Based Image Segmentation
76 1
|
8月前
|
算法 光互联 计算机视觉
Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
该文提出了一种新颖的水下图像处理方法,结合颜色转移和局部调整来校正颜色,以应对水下光照和散射造成的图像退化。传统颜色转移方法基于全局参数,不适应水下场景中颜色变化的局部性质。文章中,作者通过融合策略,利用光衰减水平估计来实现局部颜色校正。首先,通过暗通道先验恢复彩色补偿图像,然后估计光衰减图。接着,创建一个合成图像,该图像的统计特性代表高衰减区域,用于颜色转移。最后,通过加权融合初始图像和颜色转移图像,生成最终的颜色校正图像。这种方法旨在提高水下图像的对比度和颜色准确性,特别关注高衰减区域。
94 1
|
8月前
|
算法 计算机视觉
2017cvpr论文解读——Nasal Patches and Curves for Expression-Robust 3D Face Recognition
2017cvpr论文解读——Nasal Patches and Curves for Expression-Robust 3D Face Recognition
50 1
|
8月前
|
机器学习/深度学习 搜索推荐 图形学
【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)
【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)
paraforme支持speech_noise_threshold吗?
请问:speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch 这个模型支持设置 speech_noise_threshold 这个参数吗 ? vad 本身是支持的,但对这个集成的模型好像不起作用? 如果支持,应该如何正确地设置呢 ? 如果不支持,那该模型有没有什么方法可以过滤掉背景噪声? 经常会有背景噪声被识别出文字
67 0
|
监控
DFNet: Enhance Absolute Pose Regression withDirect Feature Matching
DFNet: Enhance Absolute Pose Regression withDirect Feature Matching
161 0
|
机器学习/深度学习 算法 图形学
Deep learning based multi-scale channel compression feature surface defect detection system
简述:首先应用背景分割和模板匹配技术来定义覆盖目标工件的ROI区域。提取的感兴趣区域被均匀地裁剪成若干个图像块,每个块被送到基于CNN的模型,以分类杂乱背景中不同大小的表面缺陷。最后,对空间上相邻且具有相同类别标签的图像块进行合并,以生成各种表面缺陷的识别图。
154 0
|
机器学习/深度学习 数据挖掘

热门文章

最新文章