ConcaveHullMesh

ConcaveHullMesh[{p1,p2,}]

gives the concave hull mesh from the points p1,p2,.

ConcaveHullMesh[{p1,p2,},α]

gives the concave hull mesh of the specified parameter α.

ConcaveHullMesh[{p1,p2,},α,d]

gives the concave hull mesh of cells of dimension d.

Details and Options

  • ConcaveHullMesh is also known as αshapes.
  • A concave hull mesh is typically used to construct regions from points as well as a method of point clustering.
  • ConcaveHullMesh[{p1,p2,},α,d] is generated from DelaunayMesh[{p1,p2,}] by selecting cells of dimension d that are contained in a ball of radius at most α without including other points pi.
  • ConcaveHullMesh[{p1,p2,},α] selects cells of dimension d where d is the embedding dimension of the points pi.
  • ConcaveHullMesh takes the same options as MeshRegion.

Examples

open allclose all

Basic Examples  (2)

A concave hull mesh of points randomly sampled from an Annulus:

Find its area:

Reconstruct a 3D model from its vertices:

Scope  (6)

Basic Uses  (3)

A concave hull mesh in 1D:

A concave hull mesh in 2D:

A concave hull mesh in 3D:

Specifications  (3)

ConcaveHullMesh takes a set of points:

Use a Point list:

Specify the maximum radius of simplices:

Specify the dimension of simplices:

Use All to get the full -complex for the point set:

Applications  (7)

Curve Reconstruction  (1)

ConcaveHullMesh can reconstruct 1D curves in 1D:

2D:

3D:

Surface Reconstruction  (4)

ConcaveHullMesh can reconstruct surfaces in 1D:

2D:

3D:

ConcaveHullMesh can reconstruct 3D models:

ConcaveHullMesh can approximate parametric surfaces:

ConcaveHullMesh can reconstruct non-orientable surfaces:

Solid Reconstruction  (1)

ConcaveHullMesh can reconstruct solids in 1D:

2D:

3D:

Point Clustering  (1)

Generate normally distributed data and visualize it:

Find the concave hull of the data:

Use ConnectedMeshComponents to separate points into clusters:

Visualize the separate clusters:

Properties & Relations  (4)

ConcaveHullMesh gives a MeshRegion of the same dimension as the embedding dimension of the point set:

ConvexHullMesh is equivalent to ConcaveHullMesh with a sufficiently large α:

The convex hull is a full-dimensional region:

Concave hull meshes may have multiple connected components:

The convex hull:

ConcaveHullMesh gives a subset of cells from the DelaunayMesh:

Interactive Examples  (1)

Create an interactive example with draggable points to view the concave hull in real time:

Wolfram Research (2021), ConcaveHullMesh, Wolfram Language function, https://reference.wolfram.com/language/ref/ConcaveHullMesh.html (updated 2022).

Text

Wolfram Research (2021), ConcaveHullMesh, Wolfram Language function, https://reference.wolfram.com/language/ref/ConcaveHullMesh.html (updated 2022).

CMS

Wolfram Language. 2021. "ConcaveHullMesh." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ConcaveHullMesh.html.

APA

Wolfram Language. (2021). ConcaveHullMesh. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConcaveHullMesh.html

BibTeX

@misc{reference.wolfram_2023_concavehullmesh, author="Wolfram Research", title="{ConcaveHullMesh}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ConcaveHullMesh.html}", note=[Accessed: 17-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_concavehullmesh, organization={Wolfram Research}, title={ConcaveHullMesh}, year={2022}, url={https://reference.wolfram.com/language/ref/ConcaveHullMesh.html}, note=[Accessed: 17-April-2024 ]}