triangulation_boundary_nodes


triangulation_boundary_nodes, a C++ code which analyzes the triangulation of a region, and lists those nodes which lie on the boundary of the triangulation.

Either a 3-node or 6-node triangulation may be used.

Although this boundary information is useful, it would be more useful to divide the boundary nodes up, if the boundary consists of more than one connected segment. Moreover, it would also be useful to report the sequence of nodes necessary to trace out a connected segment of the boundary. I imagine I will come back to work on those projects later!

Usage:

triangulation_boundary_nodes 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_boundary_nodes is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Programs:

MESH_TO_XML, a C++ code which reads information defining a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding XML file for input to DOLFIN or FENICS.

TRIANGLE, a C program which computes a triangulation of a geometric region.

TRIANGULATION, a C++ code which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.

triangulation_boundary_nodes_test

TRIANGULATION_CORNER, a C++ code which patches triangulations so that no triangle has two sides on the boundary.

TRIANGULATION_DELAUNAY_DISCREPANCY, a C++ code which measures the amount by which a triangulation fails the local Delaunay test;

TRIANGULATION_DISPLAY_OPENGL, a C++ code which reads files defining a triangulation and displays an image using Open GL.

TRIANGULATION_HISTOGRAM, a C++ code which computes histograms of data over a triangulation.

TRIANGULATION_L2Q, a C++ code which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.

TRIANGULATION_MASK, a C++ code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.

TRIANGULATION_NODE_TO_ELEMENT, a C++ code 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, a directory which contains a description and examples of order 3 triangulations.

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

TRIANGULATION_ORIENT, a C++ 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, a C++ code which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.

TRIANGULATION_Q2L, a C++ 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, a C++ code which estimates the integral of a function over a triangulated region.

TRIANGULATION_QUALITY, a C++ code which reads data defining a triangulation and computes a number of quality measures.

TRIANGULATION_RCM, a C++ 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_REFINE, a C++ code which reads data defining a triangulation, replaces each triangle by four congruent smaller ones, and writes the new triangulation information to a file.

TRIANGULATION_TRIANGLE_NEIGHBORS, a C++ 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 05 May 2020.