Main Content

Delaunay triangulation in 2-D and 3-D

Use the `delaunayTriangulation`

object to
create a 2-D or 3-D Delaunay
triangulation from a set of points. For 2-D data, you can also specify edge
constraints.

You can perform a variety of topological and geometric queries on a `delaunayTriangulation`

, including any `triangulation`

query. For example, locate a facet that contains a specific
point, find the vertices of the convex hull, or compute the Voronoi Diagram.

To create a `delaunayTriangulation`

object, use the
`delaunayTriangulation`

function with input arguments that define
the triangulation's points and constrained edges.

`DT = delaunayTriangulation(`

creates a Delaunay triangulation from the points in `P`

)`P`

. The
matrix `P`

has 2 or 3 columns, depending on whether your points
are in 2-D or 3-D space.

`DT = delaunayTriangulation()`

creates an empty Delaunay
triangulation.

`convexHull` | Convex hull of Delaunay triangulation |

`isInterior ` | Query points inside Delaunay triangulation |

`voronoiDiagram` | Voronoi diagram of Delaunay triangulation |

`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` | Sharp edges of surface triangulation |

`freeBoundary` | Free boundary facets |

`incenter` | Incenter of triangulation elements |

`isConnected` | Test if two vertices are connected by an edge |

`nearestNeighbor` | Vertex closest to specified point |

`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 |

`delaunayTriangulation`

can produce incorrect or inconsistent results when boundary constraints intersect or overlap. To avoid this behavior, use constraints that form one or multiple closed boundaries that do not intersect or overlap.