gives the convex hull from the points p1, p2, .


gives the convex hull of the region reg.

Details and Options

  • ConvexHullRegion is also known as convex envelope or convex closure.
  • The convex hull mesh is the smallest convex set that includes the points pi.
  • The convex hull of a region reg is the smallest set that contains every line segment between two points in the region reg.
  • ConvexHullRegion takes the same options as Region.


open allclose all

Basic Examples  (3)

A 2D convex hull mesh from points:

The region is the smallest convex region that includes the points:

A convex hull region of an annulus:

Visualize the annulus and its convex hull:

The convex hull of a mesh region:

The convex hull contains every line segment between two points of the region:

Scope  (19)

Points  (1)

Create a 1D convex hull region from a set of points:

A 2D convex hull region:

A 3D convex hull region:

Special Regions  (4)

Regions in including Point:



Regions in including Point:





Regions in including Point:




Regions in including Simplex in :

Cuboid in :

Ball in :

Mesh Regions  (2)

MeshRegion in 1D:



BoundaryMeshRegion in 1D:



Formula Regions  (3)

A parabolic region as an ImplicitRegion:

A parabola represented as a ParametricRegion:

ImplicitRegion can have several components of different dimensions:

Derived Regions  (6)

RegionIntersection of two regions:

RegionUnion of mixed-dimensional regions:

General BooleanRegion combination:




Geographic Regions  (3)

The convex hull region of a polygon with GeoPosition:

The area of a polygon with GeoGridPosition:

ConvexHullRegion works on polygons with geographic entities:

Options  (97)

AlignmentPoint  (1)

Specify the position to be aligned in 3D Inset, using coordinates:

AspectRatio  (1)

Use numerical values for AspectRatio:

Axes  (2)

Draw all the axes:

Draw the axis but not the axis:

AxesEdge  (2)

Choose the bounding box edges automatically to draw the axes:

Choose the bounding box edges automatically to draw the axes:

AxesLabel  (2)

Place a label for the axis:

Specify a label for each axis:

AxesOrigin  (2)

Determine where the axes cross automatically:

Specify the axes' origin explicitly:

AxesStyle  (2)

Specify the overall axes style, including the ticks and the tick labels:

Specify the style of each axis:

Background  (1)

Specify a background color:

BaselinePosition  (3)

Align the center of a graphic with the baseline of the text:

Specify the baseline of a graphic as a fraction of the height by using Scaled:

Use the axis of a graphic as the baseline:

BaseStyle  (2)

Set the starting style:

Set multiple starting styles:

Boxed  (2)

Draw the edges of the bounding box:

Do not draw the edges of the bounding box:

BoxRatios  (2)

Specify the ratios between the bounding box edges:

Use the actual coordinate values for the ratios:

BoxStyle  (1)

Use dashed lines for the bounding box:

Epilog  (1)

Draw a disk above the graphic, including the axes:

FaceGrids  (4)

Put grids on every face of a 3D graphic:

Put grids on both faces:

Put face grids on the plane:

On the plane, put grid lines on , and :

FaceGridsStyle  (1)

Specify the overall style of face grids:

Frame  (2)

Draw a frame around the whole graphic:

Draw a frame on the left and right edges:

FrameLabel  (2)

Specify frame labels for the bottom and left edges:

Specify labels for each edge:

FrameStyle  (2)

Specify the overall frame style:

Specify the style of each frame edge:

FrameTicks  (3)

Put a frame, but no ticks:

Tick mark labels on the bottom and left frame edges:

Frame ticks on the bottom and right edges:

FrameTicksStyle  (2)

Specify frame tick and frame tick label style:

Specify frame tick style for each edge:

GridLines  (3)

Put grids across a 2D graphic:

Draw grid lines at specific positions:

Specify the style of each grid:

GridLinesStyle  (1)

Specify the overall grid style:

ImageMargins  (3)

Allow no margins outside of ImageSize:

Have 20-point margins on all sides:

Draw grid lines at specific positions:

ImagePadding  (4)

Leave no padding outside the plot range:

Leave enough padding for all objects and labels that are present:

Specify the same padding for all sides in printer's points:

Specify the same padding for all sides in printer's points:

ImageSize  (3)

Use predefined symbolic sizes:

Use an explicit image width:

Use an explicit image width and height:

LabelStyle  (1)

Specify the overall style of all the label-like elements:

Lighting  (4)

Ambient light is uniformly applied to all the surfaces in the scene:

Directional lights with different colors:

Point lights with different colors:

Spotlights with different colors:

PlotLabel  (2)

Display a label on the top of the graphic in TraditionalForm:

Use Style and other typesetting functions to modify how the label appears:

PlotRange  (3)

Display all objects:

Explicitly choose and ranges:

Force clipping at the PlotRange:

PlotRange->s is equivalent to PlotRange->{{-s,s},{-s,s}}:

PlotRangeClipping  (2)

Allow graphics objects to spread beyond PlotRange:

Clip all graphics objects at PlotRange:

PlotRangePadding  (3)

Include 1 coordinate unit of padding on all sides:

Include padding using Scaled coordinates:

Specify different padding on each side:

PlotRegion  (3)

The contents of a graphic use the whole region:

Limit the contents of the graphic to the middle half of the region in each direction:

ImagePadding can also be used to add padding around a graphic:

PlotTheme  (3)

Base themes  (2)

Use a common base theme:

Use a monochrome theme:

Feature themes  (1)

Use a theme to draw sampled points from mesh cells:

Prolog  (1)

Define a simple graphic to use as a background:

Use it in multiple mesh regions:

RotateLabel  (2)

Specify that vertical frame labels should be rotated:

Specify that vertical frame labels should not be rotated:

SphericalRegion  (2)

Make a sequence of images be consistently sized, independent of orientation:

Without SphericalRegion, each image is made as big as possible:

Ticks  (3)

Draw the axes but no tick marks:

Place tick marks automatically:

Draw tick marks at specific positions:

TicksStyle  (2)

Specify the styles of the ticks and tick labels:

Specify the styles of and axis ticks separately:

ViewAngle  (1)

Use a specific angle for a simulated camera:

ViewCenter  (1)

Place the top-right corner of the object at the center of the final image:

ViewMatrix  (1)

Orthographic view of a mesh region from the negative direction:

ViewPoint  (3)

Specify the view point using the special scaled coordinates:

Use symbolic view points:

Specify orthographic views:

ViewProjection  (1)

By default, a perspective projection is used:

Specify an orthographic projection:

ViewRange  (2)

By default, the range is sufficient to include all the objects:

Specify the minimum and maximum distances from the camera to be included:

ViewVector  (1)

Specify the view vectors using ordinary coordinates:

ViewVertical  (2)

Use the axis direction as the vertical direction in the final image:

Various views of vertical directions:

Applications  (3)

Create a gallery of basic regions and their convex hull:

The convex hull of a compound of five tetrahedra is a dodecahedron:

Compute the convex hull of a cow:

Visualize convex hull and cow:

Properties & Relations  (4)

ConvexHullRegion from the 2D points is a Polygon:


Full dimensional:

Using ConvexRegionQ to check the property of the convex hull region:

Use DelaunayMesh to get a Delaunay triangulation of the interior of the convex hull:

Use TriangulateMesh to control the triangulation of the interior:

Possible Issues  (1)

Turn on a message that is issued whenever a approximate method is used:

This turns the message back off:

Wolfram Research (2020), ConvexHullRegion, Wolfram Language function,


Wolfram Research (2020), ConvexHullRegion, Wolfram Language function,


@misc{reference.wolfram_2020_convexhullregion, author="Wolfram Research", title="{ConvexHullRegion}", year="2020", howpublished="\url{}", note=[Accessed: 15-January-2021 ]}


@online{reference.wolfram_2020_convexhullregion, organization={Wolfram Research}, title={ConvexHullRegion}, year={2020}, url={}, note=[Accessed: 15-January-2021 ]}


Wolfram Language. 2020. "ConvexHullRegion." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2020). ConvexHullRegion. Wolfram Language & System Documentation Center. Retrieved from