umeshu
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A simple, light-weight C++ library for unstructured mesh generation in 2-D using Delaunay refinement algorithms
**This repository has been archived.**

umeshu
======

A simple, light-weight C++ library for unstructured mesh generation in 2-D using Delaunay refinement
algorithms.

Overview
--------

Umeshu is a small, light-weight C++ library for unstructured triangular mesh generation in two
dimensions using Delaunay refinement approach. The library implements the algorithm described in
the paper J. R. Shewchuk, Delaunay
refinement algorithms for triangular mesh generation, Computational Geometry 22(1-3) (2002),
21-74. The mesh is stored in a half-edge data structure and the implementation relies on
generic programming using templates and on containers and tools provided by STL and
[Boost](http://www.boost.org/).

Although other (faster, more sophisticated, complex, general) mesh libraries and mesh generators exist
(e.g., [OpenMesh](http://www.openmesh.org/), [CGAL](http://www.cgal.org/),
 [Triangle](http://www.cs.cmu.edu/~quake/triangle.html Triangle])), the principal advantage of
Umeshu is its relative simplicity, the implementation is quite straightforward. It can be used as a
learning tool for half-edge data structure, for Delaunay refinement techniques and as a basis upon
which new mesh generation algorithms can be tested.

Features
--------

  * Small and compact implementation of half-edge data structure
  * Implementation of Ruppert's algorithm for unstructured mesh generation
  * Handles small angles in input polygon by concentric shell splitting
  * Mesh output to:
    * EPS (Encapsulated Postscript)
    * OBJ
    * OFF
    * PLY
    * STL (ASCII)
  * Shewchuk's adaptive floating-point predicates
  * CMake build system
  * Mesh relaxation algorithm described in W. H. Frey, D. A. Field, [Mesh relaxation: A new
  technique for improving triangulations](http://dx.doi.org/10.1002/nme.1620310607), International
  Journal for Numerical Methods in Engineering 31(6) (1991), 1121-1133

TO DO
-----

  * More mesh refinement criteria
  * Mesh smoothing
  * Edge collapsing in mesh relaxation
  * Test suite
  * Evaluation of mesh statistics
  * Command-line application for mesh generation
  * Provide means for inputting description of boundary conditions for use in FEM
  * Extend to domains with holes and with curved boundaries

Dependencies
------------

  * Boost
  * Eigen3

Example
-------

Initial triangulation of the input polygon:  
![Initial triangulation of the input polygon](https://raw.github.com/vladimir-ch/vladimir-ch.github.com/master/img/mesh_sample_1.png)

Constrained Delaunay triangulation:  
![Constrained Delaunay triangulation](https://raw.github.com/vladimir-ch/vladimir-ch.github.com/master/img/mesh_sample_2.png)

Refined mesh:  
![Refined mesh](https://raw.github.com/vladimir-ch/vladimir-ch.github.com/master/img/mesh_sample_3.png)

Mesh prepared for smoothing after application of a relaxation algorithm:  
![Mesh prepared for smoothing after application of a relaxation algorithm](https://raw.github.com/vladimir-ch/vladimir-ch.github.com/master/img/mesh_sample_4.png)

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。