# BoundaryMeshRegion

BoundaryMeshRegion[{p1,p2,},{bcell1[{i1,}],bcell2[{j1,}],}]

yields a mesh with boundary cells bcellj, where coordinates given as integer i are taken to be pi, where the cells together represent a closed curve, surface, etc.

BoundaryMeshRegion[,{,wi[bcelli[]],}]

yields a mesh with cell properties defined by the symbolic wrapper wi.

BoundaryMeshRegion[,boundary1,boundary2,]

yields a mesh from multiple boundaries boundaryi.

# Details and Options

• BoundaryMeshRegion is also known as a boundary representation.
• BoundaryMeshRegion can represent a piecewise linear and full-dimensional region embedded in dimension 1, 2, or 3.
• displays in a notebook as a plot of a boundary mesh region.
• BoundaryMeshRegion is typically constructed using functions such as ConvexHullMesh, BoundaryMesh, BoundaryDiscretizeRegion, and BoundaryDiscretizeGraphics.
• The boundary cells need to represent a closed curve or surface without self-intersections.
• In BoundaryMeshRegion[{p1,p2,},b1,b2,], the boundary curves or surfaces bi should not cross themselves or each other.
• In BoundaryMeshRegion[{p1,p2,},b1,b2,], a point p is considered to be in the region enclosed by the boundary curves or surfaces bi if any infinite ray starting at p crosses the set of boundaries bi an odd number of times.
• The following special wrappers wi can be used for boundary faces:
•  Labeled[cell,…] display the cell with labeling Style[cell,…] show the cell with the specified style Property[cell,name->value] associate the property name->value with cell
• Each cell in a BoundaryMeshRegion is given a unique MeshCellIndex of the form {d,i}, where d is the geometric dimension and i is the index.
• For purposes of selecting cells of a BoundaryMeshRegion, the following cell specifications may be used:
•  {d,i} cell with index i of dimension d {d,ispec} cells with index specification ispec of dimension d {dspec,…} cells of dimensions given by dspec h[{i1,…}] explicit cell with head h and vertex indices i1, … {c1,c2,…} list of explicit cells ci
• The index specification ispec can have the following form:
•  i cell index i {i1,i2,…} cells with indices ik All all cells patt cells with indices matching the pattern patt
• The dimension specification dspec can have the following form:
•  d explicit dimension d All all dimensions from 0 to geometric dimension of region patt dimensions matching the pattern patt
• BoundaryMeshRegion contains cells of maximal dimension n-1, where n is the embedding dimension.
• BoundaryMeshRegion is always converted to an optimized representation and treated as raw by functions like AtomQ for purposes of pattern matching.
• BoundaryMeshRegion has the same options as Graphics for embedding dimension two, and the same options as Graphics3D for embedding dimension three, with the following additions and changes:
•  MeshCellLabel Automatic labels and placement for cells MeshCellShapeFunction Automatic shape functions for cells MeshCellStyle Automatic styles for cells MeshCellHighlight {} list of highlighted cells MeshCellMarker 0 integer markers for cells PlotTheme \$PlotTheme overall theme for the mesh
• Possible settings for PlotTheme include common base themes, font features themes, and size features themes.
• Mesh features themes affect the plot of mesh cells. Themes include:
•  "Points" 0D cells "Lines" 1D cells, wireframe "Polygons" 2D cells
• Rendering features themes affect the rendering of meshes. Themes include:
•  "SampledPoints" sampled points from mesh cells "SphereAndTube" points as spheres and lines as tubes "SmoothShading" smooth shading "FaceNormals" normal for each 2D cell "LargeMesh" optimized for large number of cells
• Style and other specifications for cells are effectively applied in the order MeshCellStyle, Style, and other wrappers, with later specifications overriding earlier ones.
• Label style and other specifications for cell labels are effectively applied in the order MeshCellLabel and Labeled, with later specifications overriding earlier ones.
• BoundaryMeshRegion can be used with functions such as RegionMember, RegionDistance, RegionMeasure, and NDSolve.

# Examples

open allclose all

## Basic Examples(5)

Specify an interval from its boundary points:

 In[1]:=
 Out[1]=

It is full dimensional:

 In[2]:=
 Out[2]=

The region is bounded:

 In[3]:=
 Out[3]=

The length and centroid:

 In[4]:=
 Out[4]=

Check point membership:

 In[5]:=
 Out[5]=

Specify a triangle from its closed boundary curve:

 In[1]:=
 Out[1]=

It is full dimensional:

 In[2]:=
 Out[2]=

The region is bounded:

 In[3]:=
 Out[3]=

The area and centroid:

 In[4]:=
 Out[4]=

Check point membership:

 In[5]:=
 Out[5]=

Specify a tetrahedron from its closed boundary surface:

 In[1]:=
 Out[1]=

It is full dimensional:

 In[2]:=
 Out[2]=

The region is bounded:

 In[3]:=
 Out[3]=

The volume and centroid:

 In[4]:=
 Out[4]=

Check point membership:

 In[5]:=
 Out[5]=

Specify a 2D region from multiple closed boundary curves:

 In[1]:=
 In[2]:=
 Out[2]=

Find its area:

 In[3]:=
 Out[3]=

Specify a 3D region from multiple closed boundary surfaces:

 In[1]:=
 In[2]:=
 In[3]:=
 Out[3]=

Find its volume:

 In[4]:=
 Out[4]=