TRIANGULATION_QUALITY\
Triangulation Quality Measures {#triangulation_quality-triangulation-quality-measures align=”center”}
==============================
TRIANGULATION_QUALITY is a C++ program which computes and prints
quality measures for a given triangulation of a set of points in 2D.
The triangulation is defined by a node file containing the coordinates
of nodes, and a triangle file containing sets of 3 or 6 node indices.
The quality measures computed include:
- Alpha, the minimum angle divided by the maximum possible minimum
angle.
- Area, the ratio of the minimum area to the maximum area;
- Q, the triangle shape uniformity measure, twice the radius of
the inscribed circle divided by the radius of the circumscribed
circle;
Each quality measure is defined as the minimum of its value over all the
triangles; the maximum and best possible value is 1, and the minimum and
worst possible value is 0.
Usage: {#usage align=”center”}
triangulation_quality prefix
where prefix is the common filename prefix:
- prefix_nodes.txt, the node coordinates;
- prefix_elements.txt, the triangulation.
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
TRIANGULATION_QUALITY is available in a C++
version
and a FORTRAN90
version
and a MATLAB
version.
DISTMESH, a MATLAB library which
carries out triangular or tetrahedral mesh generation, by Per-Olof
Persson and Gilbert Strang.
MESH2D, a MATLAB library which can
automatically create a triangular mesh for a given polygonal region, by
Darren Engwirda.
TET_MESH_QUALITY,
a C++ program which computes quality measures of a tetrahedral mesh.
TRIANGLE is a C program which
computes a triangulation of a geometric region.
TRIANGULATION is a C++
library which carries out various operations on order 3 (“linear”) or
order 6 (“quadratic”) triangulations.
TRIANGULATION_NODE_TO_ELEMENT,
a C++ program which reads files describing a set of nodes, their
triangulation, and the value of one or more quantities at each node, and
outputs a file that averages the quantities for each element. This
operation in effect creates an “order1” finite element model of the
data.
TRIANGULATION_ORDER3
is a directory which contains a description and examples of order 3
triangulations.
TRIANGULATION_ORDER6
is a directory which contains a description and examples of order 6
triangulations.
Reference: {#reference align=”center”}
- Marc deBerg, Marc Krevald, Mark Overmars, Otfried Schwarzkopf,\
Computational Geometry,\
Springer, 2000,\
ISBN: 3-540-65620-0.
- David Field,\
Qualitative Measures for Initial Meshes,\
International Journal of Numerical Methods in Engineering,\
Volume 47, 2000, pages 887-906.
- Joseph ORourke,\
Computational Geometry,\
Second Edition,\
Cambridge, 1998,\
ISBN: 0521649765,\
LC: QA448.D38.
- Per-Olof Persson, Gilbert Strang,\
A Simple Mesh Generator in MATLAB,\
SIAM Review,\
Volume 46, Number 2, pages 329-345, June 2004.
Source Code: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
ELL3 is a set of nodes in an L-shaped region, which have been
arranged into an order 3 triangulation.
HEX_HOLES6 is a set of nodes in an square region, with two
hexagonal holes, which have been arranged into an order 6 triangulation.
List of Routines: {#list-of-routines align=”center”}
- MAIN is the main program for TRIANGULATION_QUALITY.
- ALPHA_MEASURE determines the triangulated pointset quality
measure ALPHA.
- ARC_COSINE computes the arc cosine function, with argument
truncation.
- AREA_MEASURE determines the area ratio quality measure.
- BANDWIDTH_MESH determines the bandwidth of the coefficient
matrix.
- CH_CAP capitalizes a single character.
- CH_EQI is true if two characters are equal, disregarding case.
- CH_TO_DIGIT returns the integer value of a base 10 digit.
- FILE_COLUMN_COUNT counts the columns in the first line of a
file.
- FILE_EXIST reports whether a file exists.
- FILE_ROW_COUNT counts the number of row records in a file.
- I4_MAX returns the maximum of two I4’s.
- I4_MIN returns the minimum of two I4’s.
- I4MAT_DATA_READ reads data from an I4MAT file.
- I4MAT_HEADER_READ reads the header from an I4MAT file.
- I4MAT_TRANSPOSE_PRINT prints an I4MAT, transposed.
- I4MAT_TRANSPOSE_PRINT_SOME prints some of an I4MAT,
transposed.
- Q_MEASURE determines the triangulated pointset quality
measure Q.
- R8_ABS returns the absolute value of an R8.
- R8_HUGE returns a “huge” R8.
- R8_MAX returns the maximum of two R8’s.
- R8_MIN returns the minimum of two R8’s.
- R8MAT_DATA_READ reads the data from an R8MAT file.
- R8MAT_HEADER_READ reads the header from an R8MAT file.
- R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
- R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT,
transposed.
- S_LEN_TRIM returns the length of a string to the last
nonblank.
- S_TO_I4 reads an I4 from a string.
- S_TO_I4VEC reads an I4VEC from a string.
- S_TO_R8 reads an R8 from a string.
- S_TO_R8VEC reads an R8VEC from a string.
- S_WORD_COUNT counts the number of “words” in a string.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 22 August 2009.