DelaunayMesh

DelaunayMesh[{p1,p2,}]

gives a MeshRegion representing the Delaunay mesh from the points p1, p2, .

Details and Options

  • DelaunayMesh is also known as Delaunay triangulation and Delaunay tetrahedralization.
  • A Delaunay mesh consists of intervals (in 1D), triangles (in 2D), tetrahedra (in 3D), and -dimensional simplices (in D).
  • A Delaunay mesh has simplex cells defined by points, such that the circumsphere for the same points contains no other points from the original points pi.
  • The Delaunay mesh gives a triangulation where the minimum interior angle is maximized.
  • DelaunayMesh takes the same options as MeshRegion.

Examples

open allclose all

Basic Examples  (4)

A 1D Delaunay mesh:

A 2D Delaunay mesh from a list of points:

A 3D Delaunay mesh from a list of points:

Delaunay mesh from points corresponding to minimal vectors of the hexagonal close packing lattice:

Scope  (3)

Create a 1D Delaunay mesh from a set of points:

Basic properties:

Delaunay meshes are full dimensional:

Delaunay meshes are bounded:

Find its measure and centroid:

Find nearest distance and nearest point:

Create a 2D Delaunay mesh from a set of points:

Basic properties:

Delaunay meshes are full dimensional:

Delaunay meshes are bounded:

Find its area and centroid:

Test for point membership or distance to the closest point in the region:

Create a 3D Delaunay mesh from a set of points:

Basic properties:

Delaunay meshes are full dimensional:

Delaunay meshes are bounded:

Find its area and centroid:

Test for point membership or distance to the closest point in the region:

Options  (11)

MeshCellHighlight  (2)

MeshCellHighlight allows you to specify highlighting for parts of a DelaunayMesh:

Individual cells can be highlighted using their cell index:

Or by the cell itself:

MeshCellLabel  (2)

MeshCellLabel can be used to label parts of a DelaunayMesh:

Individual cells can be labeled using their cell index:

Or by the cell itself:

MeshCellMarker  (1)

MeshCellMarker can be used to assign values to parts of a DelaunayMesh:

Use MeshCellLabel to show the markers:

MeshCellShapeFunction  (2)

MeshCellShapeFunction allows you to specify functions for parts of a DelaunayMesh:

Individual cells can be drawn using their cell index:

Or by the cell itself:

MeshCellStyle  (2)

MeshCellStyle allows you to specify styling for parts of a DelaunayMesh:

Individual cells can be highlighted using their cell index:

Or by the cell itself:

PlotTheme  (2)

Use a theme with grid lines and a legend:

Use a theme to draw a wireframe:

Applications  (5)

Given a 3D lattice basis:

Generate lattice points:

Generate and visualize the mesh region:

Construct a 3D region from a point set:

Compare original region to Delaunay mesh:

Visualize the piecewise constant interpolation of city elevations in Colorado:

Voronoi mesh from city coordinates:

Create a function to map a given coordinate pair to the nearest known elevation:

Function to rescale elevation values to , suitable for color functions:

Piecewise constant contour plot of city elevations:

A similar plot can also be achieved with ListContourPlot:

Solve a PDE over a region defined by point set:

Create a mesh from selected points on a raster:

Initial locator points:

Function to convert a raster and a mesh region to polygons:

Function to create an overlay mesh:

Click the image to add and remove draggable vertices:

Properties & Relations  (7)

The output of DelaunayMesh is always a full-dimensional MeshRegion:

DelaunayMesh consists of intervals in 1D:

Triangles in 2D:

Tetrahedra in 3D:

The circumcircle for each triangle in a DelaunayMesh contains no other point:

Find circumcircles for all triangles:

Plot the circumcircles as disks:

The circumsphere for each tetrahedron in a DelaunayMesh contains no other point:

Find circumspheres for all tetrahedra:

Plot the circumspheres:

ConvexHullMesh is effectively the BoundaryMesh of a DelaunayMesh:

Use TriangulateMesh to retriangulate a region:

VoronoiMesh is the dual of the DelaunayMesh:

Each Voronoi cell has a single point from the original point set:

Introduced in 2014
 (10.0)
 |
Updated in 2015
 (10.2)