triangulation_refine


triangulation_refine, an Octave code which reads information describing a triangulation of a set of points and creates a refined triangulation.

The refined triangulation is created by dividing each triangle into four similar subtriangles. The mesh size parameter h will be halved by such a procedure. If the input triangulation is Delaunay, then so will be the output triangulation.

The program can handle triangulations that use 3 or 6 nodes per triangle.

The input and output files use the simple TABLE format; comment lines begin with a "#" character. Otherwise, each line of the file contains one set of information, either the coordinates of a node (for a node file), or the indices of nodes that make up a triangle, (for a triangle file).

The input file prefix_nodes.txt contains the node information for the triangulation. Each data line contains the X and Y coordinates of a single node.

The input file prefix_elements.txt contains the triangle information for the triangulation. Each line contains the indices of 3 or 6 nodes that form a triangle.

Usage:

triangulation_refine ( 'prefix' )
where 'prefix' is the common filename prefix:

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

triangulation_refine is available in a C++ version and a Fortran90 version and . a MATLAB version and . an Octave version.

Related Data and Programs:

triangulation_refine_test

table, a data format which is used for the input and output files.

triangulation, an Octave code which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.

triangulation_boundary_edges, an Octave code which reads data defining a triangulation, determines which edges lie on the boundary, organizes them into connected components, and writes this information to a file.

triangulation_boundary_nodes, an Octave code which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.

triangulation_corner, an Octave code which patches triangulations so that no triangle has two sides on the boundary.

triangulation_delaunay_discrepancy, an Octave code which measures the amount by which a triangulation fails the local Delaunay test;

triangulation_display, an Octave code which displays the nodes and elements of a triangulation;

triangulation_histogram, an Octave code which computes histograms of data over a triangulation.

triangulation_l2q, an Octave code which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.

triangulation_mask, an Octave code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.

triangulation_order3, a data directory which contains a description and examples of order 3 triangulations.

triangulation_order6, a data directory which contains a description and examples of order 6 triangulations.

triangulation_orient, an Octave code which reads data defining a triangulation, makes sure that every triangle has positive orientation, and if not, writes a corrected triangle file.

triangulation_plot, an Octave code which reads data defining a triangulation and creates a postscript image of the nodes and triangles.

triangulation_q2l, an Octave code which reads data defining a 6-node triangulation, and subdivides each triangle into 4 3-node triangles, writing the resulting triangulation to a file.

triangulation_quad, an Octave code which estimates the integral of a function over a triangulated region.

triangulation_quality, an Octave code which reads data defining a triangulation and computes a number of quality measures.

triangulation_rcm, an Octave code which reads data defining a triangulation, determines an ordering of the nodes that will reduce the bandwidth of the adjacency matrix, and writes the new triangulation information to a file.

triangulation_triangle_neighbors, an Octave code which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.

Reference:

  1. Marc deBerg, Marc Krevald, Mark Overmars, Otfried Schwarzkopf,
    Computational Geometry,
    Springer, 2000,
    ISBN: 3-540-65620-0.
  2. Joseph ORourke,
    Computational Geometry,
    Second Edition,
    Cambridge, 1998,
    ISBN: 0521649765,
    LC: QA448.D38.

Source Code:


Last revised on 06 July 2023.