Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# triangulation

Triangulation in 2-D or 3-D

## Description

Use `triangulation` to create an in-memory representation of any 2-D or 3-D triangulation data that is in matrix format, such as the matrix output from the `delaunay` function or other software tools. When your data is represented using `triangulation`, you can perform topological and geometric queries, which you can use to develop geometric algorithms. For example, you can find the triangles or tetrahedra attached to a vertex, those that share an edge, their circumcenters, and other features.

## Creation

To create a `triangulation` object, use the `triangulation` function with input arguments that define the triangulation's points and connectivity.

### Syntax

``TR = triangulation(T,P)``
``TR = triangulation(T,x,y)``
``TR = triangulation(T,x,y,z)``

### Description

example

````TR = triangulation(T,P)` creates a 2-D or 3-D triangulation representation using the triangulation connectivity list `T` and the points in matrix `P`.```
````TR = triangulation(T,x,y)` creates a 2-D triangulation representation with the point coordinates specified as column vectors `x` and `y`.```
````TR = triangulation(T,x,y,z)` creates a 3-D triangulation representation with the point coordinates specified as column vectors `x`, `y`, and `z`. ```

### Input Arguments

expand all

Triangulation connectivity list, specified as an `m`-by-`n` matrix, where `m` is the number of triangles or tetrahedra, and `n` is the number of vertices per triangle or tetrahedron. Each row of `T` contains the vertex IDs that define a triangle or tetrahedron. The vertex IDs are the row numbers of the input points. The ID of a triangle or tetrahedron in the triangulation is the corresponding row number in `T`.

Points, specified as a matrix whose columns are the x-coordinates, y-coordinates, and (possibly) `z`-coordinates of the triangulation points. The row numbers of `P` are the vertex IDs in the triangulation.

x-coordinates of triangulation points, specified as a column vector.

y-coordinates of triangulation points, specified as a column vector.

z-coordinates of triangulation points, specified as a column vector.

## Properties

expand all

Triangulation points, represented as a matrix with the following characteristics:

• Each row in `TR.Points` contains the coordinates of a vertex.

• Each row number of `TR.Points` is a vertex ID.

Triangulation connectivity list, represented as a matrix with the following characteristics:

• Each element in `TR.ConnectivityList` is a vertex ID.

• Each row represents a triangle or tetrahedron in the triangulation.

• Each row number of `TR.ConnectivityList` is a triangle or tetrahedron ID.

## Object Functions

 `barycentricToCartesian` Convert coordinates from barycentric to Cartesian `cartesianToBarycentric` Convert coordinates from Cartesian to barycentric `circumcenter` Circumcenter of triangle or tetrahedron `edgeAttachments` Triangles or tetrahedra attached to specified edge `edges` Triangulation edges `faceNormal` Triangulation unit normal vectors `featureEdges` Handle sharp edges of triangulation `freeBoundary` Free boundary facets `incenter` Incenter of triangulation elements `isConnected` Test if two vertices are connected by an edge `nearestNeighbor` Closest vertex `neighbors` Triangle or tetrahedron neighbors `pointLocation` Triangle or tetrahedron enclosing point `size` Size of triangulation connectivity list `vertexAttachments` Triangles or tetrahedra attached to vertex `vertexNormal` Triangulation vertex normal

## Examples

collapse all

Define and plot the points in a 2-D triangulation.

```P = [ 2.5 8.0 6.5 8.0 2.5 5.0 6.5 5.0 1.0 6.5 8.0 6.5];```

Define the triangulation connectivity list.

```T = [5 3 1; 3 2 1; 3 4 2; 4 6 2];```

Create and plot the triangulation representation.

`TR = triangulation(T,P)`
```TR = triangulation with properties: Points: [6x2 double] ConnectivityList: [4x3 double] ```
`triplot(TR)`

Examine the coordinates of the vertices of the first triangle.

`TR.Points(TR.ConnectivityList(1,:),:)`
```ans = 3×2 1.0000 6.5000 2.5000 5.0000 2.5000 8.0000 ```