TRIANGULATION_L2Q is a C++ program which reads information describing a triangulation of a set of points using 3-node ("linear") triangles, and creates a 6-node ("quadratic") triangulation.
The same number of triangles are used, but each triangle is given three extra midside nodes. The coordinates of these nodes are determined by averaging the coordinates of pairs of vertices of the triangles.
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 3-node 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 3-node triangulation. Each line contains the indices of three nodes that form a triangle, in counterclockwise order.
The output file prefix_l2q_nodes.txt contains the node information for the 6-node triangulation. It begins with the node information from nodes.txt, followed by the coordinates of the new nodes.
The output file prefix_l2q_elements.txt contains the triangle information for the 6-node triangulation. There are exactly as many triangles as before, but now each triangle uses six nodes. Each line of the file contains the indices of 6 nodes that form the triangle, listed in a particular order. The first three indices are the vertices, in counterclockwise order. The fourth index is the midside node between vertices 1 and 2, the fifth the midside between vertices 2 and 3, and the sixth the midside between vertices 3 and 1. It should be the case that the first three columns of prefix_l2q_elements.txt are the same as the three columns of prefixelements.txt.
triangulation_l2q prefixwhere prefix is the common filename prefix:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TABLE_DELAUNAY is a C++ program which triangulates a set of nodes whose coordinates are stored in a file.
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_BOUNDARY_NODES is a C++ program which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.
TRIANGULATION_CORNER, a C++ program which patches triangulations so that no triangle has two sides on the boundary.
TRIANGULATION_DELAUNAY_DISCREPANCY is a C++ program which measures the amount by which a triangulation fails the local Delaunay test;
TRIANGULATION_DISPLAY_OPEN_GL is a C++ program which reads files defining a triangulation and displays an image using Open GL.
TRIANGULATION_HISTOGRAM, a C++ program which computes histograms of data over a triangulation.
TRIANGULATION_L2Q is available in a C++ version and a FORTRAN90 version and a MATLAB version.
TRIANGULATION_MASK is a C++ program which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.
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.
TRIANGULATION_ORIENT is a C++ program which reads data defining a triangulation, makes sure that every triangle has positive orientation, and if not, writes a corrected triangle file.
TRIANGULATION_PLOT is a C++ program which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.
TRIANGULATION_Q2L is a C++ program 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 is a C++ program which estimates the integral of a function over a triangulated region.
TRIANGULATION_QUALITY is a C++ program which reads data defining a triangulation and computes a number of quality measures.
TRIANGULATION_RCM is a C++ program 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 is a C++ program which reads data defining a triangulation, replaces each triangle by four congruent smaller ones, and writes the new triangulation information to a file.
TRIANGULATION_T3_TO_T4 is a C++ program which reads information about a 3-node triangulation and creates data defining a corresponding 4-node triangulation (vertices + centroid);
TRIANGULATION_TRIANGLE_NEIGHBORS is a C++ program which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.
EXAMPLE is an example data set.
You can go up one level to the C++ source codes.