TRIANGULATION_TRIANGLE_NEIGHBORS
Triangle Neighbors
in a Triangulation


TRIANGULATION_TRIANGLE_NEIGHBORS is a MATLAB program which computes the three neighboring triangles of each triangle in a triangulation.

The user supplies a node file and a triangle file, containing the coordinates of the nodes, and the indices of the nodes that make up each triangle. Either 3-node or 6-node triangles may be used.

The program reads the data, computes the triangle neighbor information, and writes out the information to a file. In cases where one side of a triangle has no triangle neighbor, a value of -1 is assigned.

The triangle neighbor array is useful if the triangulation has to be searched to find the triangle containing a given point. It is also useful when analyzing the bandwidth of the adjacency matrix, or of a finite element matrix derived from the triangulation.

Related Data and Programs:

MESH_BANDWIDTH is a MATLAB program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.

RCM is a MATLAB library which uses the reverse Cuthill-McKee method for mesh renumbering.

TABLE_DELAUNAY is a FORTRAN90 program which triangulates nodes whose coordinates are stored in a file.

TET_MESH_RCM is a MATLAB library which applies the reverse Cuthill-McKee reordering to a tetrahedral mesh of nodes in 3D.

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

TRIANGULATION is a MATLAB library which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.

TRIANGULATION_BOUNDARY_NODES is a MATLAB program which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.

TRIANGULATION_DISPLAY_OPEN_GL is a C++ program which reads files defining a triangulation and displays an image using Open GL.

TRIANGULATION_L2Q is a MATLAB program which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.

TRIANGULATION_MASK is a MATLAB 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 MATLAB 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 MATLAB program which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.

TRIANGULATION_Q2L is a MATLAB 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_QUALITY is a MATLAB program which reads data defining a triangulation and computes a number of quality measures.

TRIANGULATION_RCM is a MATLAB program which can reorder the nodes of a triangulation so that the bandwidth of the associated adjacency matrix is reduced.

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

Usage:

triangulation_triangle_neighbors ( 'node_file', 'triangle_file' )
reads the triangulation whose nodal coordinates are given in node_file, and triangle indices in triangle_file, and produces a triangle neighbor 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.

Tar File:

A GZIP'ed TAR file of the contents of this directory is available. This is only done as a convenience for users who want ALL the files, and don't want to download them individually. This is not a convenience for me, so don't be surprised if the tar file is somewhat out of date.

Source Code:

Examples and Tests:

Files associated with a 3-node triangulation:

Files associated with a 6-node triangulation:

You can go up one level to the MATLAB source codes.


Last revised on 03 April 2008.