ConicHullRegion[{p1,…,pm+1}]
represents the m-dimensional affine hull region passing through points pi.
ConicHullRegion[p,{v1,…,vm}]
represents the m-dimensional affine hull region passing through the point p and parallel to vi.
ConicHullRegion[{p1,…,pm+1},{w1,…,wn}]
represents the m-dimensional affine hull plus the conic hull generated by the vectors wj.
ConicHullRegion[p,{v1,…,vm},{w1,…,wn}]
represents the m-dimensional affine hull plus the conic hull generated by the vectors wj.
ConicHullRegion
ConicHullRegion[{p1,…,pm+1}]
represents the m-dimensional affine hull region passing through points pi.
ConicHullRegion[p,{v1,…,vm}]
represents the m-dimensional affine hull region passing through the point p and parallel to vi.
ConicHullRegion[{p1,…,pm+1},{w1,…,wn}]
represents the m-dimensional affine hull plus the conic hull generated by the vectors wj.
ConicHullRegion[p,{v1,…,vm},{w1,…,wn}]
represents the m-dimensional affine hull plus the conic hull generated by the vectors wj.
Details
- ConicHullRegion is also known as affine space, half-space, and affine hull in special cases.
- ConicHullRegion can be used as a geometric region and graphics primitive.
- The cases ConicHullRegion[{p1,…,pm+1}] and ConicHullRegion[p,{v1,…,vm}] represent an affine hull, which is commonly known as an infinite line, infinite plane, or infinite space.
- The conic directions wj represent a pure conic hull
that is added to each point in the affine hull, also known as a Minkowski sum of an affine hull and a conic hull. - Parametric representations are given by:
-
ConicHullRegion[{p1,…,pm+1}] 
ConicHullRegion[p,{v1,…,vm}] 
ConicHullRegion[{p1,…,pm+1},{w1,…,wn}] 
ConicHullRegion[p,{v1,…,vm},{w1,…,wn}] 
- Low-dimensional versions of ConicHullRegion have special representations:
-
ConicHullRegion[{p1,p2}] InfiniteLine[{p1,p2}] ConicHullRegion[{p1,p2,p3}] InfinitePlane[{p1,p2,p3}] ConicHullRegion[{p1},{w1}] HalfLine[p1,w1] ConicHullRegion[{p1,p2},{w1}] HalfPlane[{p1,p2},w1] - ConicHullRegion[p,{v1,…,vm}] represents an m-dimensional region if the vi are linearly independent.
- ConicHullRegion can be used in Graphics and Graphics3D.
- In graphics, the points p, pi and vectors vi, wj can be Dynamic expressions.
- Graphics rendering is affected by directives such as FaceForm, EdgeForm, Opacity, and color.
Examples
open all close allBasic Examples (3)
A ConicHullRegion in 2D:
Graphics[ConicHullRegion[{{0, 0}}, {{1, -1}, {1, 1}}]]Graphics3D[ConicHullRegion[{{0, 0, 0}}, {{-10, 2, 3}, {1, 1, 0}}]]Different styles applied to a conic hull region:
ℛ = ConicHullRegion[{{0, 0}}, {{1, -1}, {1, 1}}];{Graphics[{Pink, ℛ}], Graphics[{EdgeForm[Thick], Pink, ℛ}], Graphics[{EdgeForm[Dashed], Pink, ℛ}], Graphics[{EdgeForm[Directive[Thick, Dashed, Blue]], Pink, ℛ}]}Determine if points belong to a given conic hull region:
ℛ = ConicHullRegion[{{0, 0}}, {{1, -1}, {1, 1}}];{RegionMember[ℛ, {1, 0}], RegionMember[ℛ, {-1, 0}]}Scope (25)
Graphics (15)
Specification (7)
Define an infinite line passing through {1,1} and {3,2}:
ill = Graphics[{PointSize[Medium], Point[{{1, 1}, {3, 2}}]}, PlotRange -> {{0, 4}, {0, 3}}, Frame -> True];Show[ill, Graphics[ConicHullRegion[{{1, 1}, {3, 2}}]]]Define the same line passing through {1,1} in the direction {2,1}:
ill = Graphics[{PointSize[Medium], Point[{{1, 1}}], Arrowheads[Medium], Thick, Arrow[{{1, 1}, {3, 2}}]}, PlotRange -> {{0, 4}, {0, 3}}, Frame -> True];Show[ill, Graphics[ConicHullRegion[{1, 1}, {{2, 1}}]]]Define the upper half-plane using a point, a vector, and a conic direction:
ill = Graphics[{PointSize[Medium], Point[{{0, 0}}], Arrowheads[Medium], Thick, Arrow[{{0, 0}, {1, 0}}], Arrow[{{0, 0}, {0, 1}}]}];Show[Graphics[{Pink, ConicHullRegion[{0, 0}, {{1, 0}}, {{0, 1}}]}, PlotRange -> {{-1, 2}, {-1, 2}}, Frame -> True], ill]Or a 2D infinite space using a point and two conic directions:
ill = Graphics[{PointSize[Medium], Point[{{0, 0}}], Arrowheads[Medium], Thick, Arrow[{{0, 0}, {1, 1}}], Arrow[{{0, 0}, {-1, 1}}]}];Show[Graphics[{Pink, ConicHullRegion[{{0, 0}}, {{1, 1}, {-1, 1}}]}, PlotRange -> {{-2, 2}, {-1, 2}}, Frame -> True], ill]Define an infinite line in 3D passing through the points
and
:
ill = Graphics3D[{PointSize[Medium], Point[{{1, 1, 1}, {2, 3, 4}}]}, PlotRange -> 5, Axes -> True];Show[ill, Graphics3D[ConicHullRegion[{{1, 1, 1}, {2, 3, 4}}]]]Define the same line using the point
and a direction vector:
ill = Graphics3D[{PointSize[Medium], Point[{{1, 1, 1}}], Arrowheads[Medium], Thick, Arrow[{{1, 1, 1}, {2, 3, 4}}]}, PlotRange -> 5, Axes -> True];Show[ill, Graphics3D[ConicHullRegion[{1, 1, 1}, {{1, 2, 3}}]]]Define the plane passing through the points
,
, and
:
ill = Graphics3D[{PointSize[Medium], Point[{{0, 1, 3}, {1, 0, 1}, {1, 2, 3}}]}, PlotRange -> {{-1, 2}, {-1, 3}, {0, 4}}, Axes -> True];Show[ill, Graphics3D[{Opacity[0.5], ConicHullRegion[{{0, 1, 3}, {1, 0, 1}, {1, 2, 3}}]}]]Define the same plane using a point and direction vectors:
ill = Graphics3D[{PointSize[Medium], Point[{{0, 1, 3}}], Arrowheads[Medium], Thick, Arrow[{{0, 1, 3}, {1, 0, 1}}], Arrow[{{0, 1, 3}, {1, 2, 3}}]}, PlotRange -> {{-1, 2}, {-1, 3}, {0, 4}}, Axes -> True];Show[ill, Graphics3D[{Opacity[0.5], ConicHullRegion[{0, 1, 3}, {{1, -1, -2}, {1, 1, 0}}]}]]Define a 2D infinite cone with tip
and directions
and
:
ill = Graphics3D[{PointSize[Medium], Point[{{0, 0, 0}}], Arrowheads[Medium], Thick, Arrow[{{0, 0, 0}, {0, 1, 2}}], Arrow[{{0, 0, 0}, {1, 2, 0}}]}, PlotRange -> {{-1, 3}, {-1, 3}, {-1, 3}}, Axes -> True];Show[ill, Graphics3D[ConicHullRegion[{{0, 0, 0}}, {{0, 1, 2}, {1, 2, 0}}]]]A 3D half-space can be defined with a point, two vectors, and a conic direction:
Graphics3D[ConicHullRegion[{0, 0, 0}, {{1, 0, 0}, {0, 1, 0}}, {{0, 0, 1}}]]A 3D infinite space can be defined with a point and some conic directions:
Graphics3D[ConicHullRegion[{{0, 0, 0}}, {{1, 1, 0}, {0, 1, 1}, {1, 0, 1}}]]Styling (7)
A 1D conic hull region with varying thickness:
Table[Graphics[{Thickness[i], ConicHullRegion[{{0, 0}, {2, 1}}]}], {i, {Tiny, Small, Medium, Large}}]Table[Graphics[{t, ConicHullRegion[{{0, 0}, {2, 1}}]}], {t, {Thin, Thick}}]Table[Graphics[{Thickness[i], ConicHullRegion[{{0, 0}, {2, 1}}]}], {i, {.005, .05, .1}}]Thickness in printer's points:
Table[Graphics[{AbsoluteThickness[i], ConicHullRegion[{{0, 0}, {2, 1}}]}], {i, {1, 5, 10}}]1D conic hull regions can be rendered in dashed or dotted styles:
Table[Graphics[{Dashing[i], ConicHullRegion[{{0, 0}, {2, 1}}]}], {i, {Tiny, Small, Medium, Large}}]Table[Graphics[{d, ConicHullRegion[{{0, 0}, {2, 1}}]}], {d, {Dotted, Dashed, DotDashed}}]Color directives specify the edge color for 1D conic hull regions:
Table[Graphics[{c, ConicHullRegion[{{0, 0}, {2, 1}}]}], {c, {Red, Green, Blue, Yellow}}]Color directives specify the face color for higher-dimensional regions:
Table[Graphics[{c, ConicHullRegion[{{0, 0}}, {{1, -1}, {1, 2}}]}], {c, {Red, Green, Blue, Yellow}}]Table[Graphics3D[{c, ConicHullRegion[{{1, 0, 0}, {1, 1, 1}, {0, 0, 1}}]}], {c, {Red, Green, Blue, Yellow}}]FaceForm and EdgeForm can be used to specify the styles of the faces and edges:
Graphics[{FaceForm[Pink], EdgeForm[Directive[Dashed, Thick, Blue]], ConicHullRegion[{{0, 0}}, {{1, -1}, {1, 2}}]}]Graphics3D[{FaceForm[Pink], EdgeForm[Directive[Dashed, Thick, Blue]], ConicHullRegion[{{1, 0, 0}, {1, 1, 1}, {0, 0, 1}}]}]In 3D, different properties can be specified for the front and back of faces using FaceForm:
p = {FaceForm[Yellow, Blue], ConicHullRegion[{{0, 0, 0}}, {{1, -1, 0}, {1, 2, 0}}]};{Graphics3D[p, ViewPoint -> Top], Graphics3D[p, ViewPoint -> Bottom]}Coordinates (1)
Scaled coordinates can be used in 2D:
Graphics[ConicHullRegion[Scaled[{0, 0}], {Scaled[{1, 1}]}], Frame -> True]Graphics3D[ConicHullRegion[Scaled[{0, 0, 0}], {Scaled[{1, 1, 0}], Scaled[{0, 1, 1}]}]]Regions (10)
Embedding dimension is the dimension in which the ConicHullRegion lives:
line = ConicHullRegion[{0, 0}, {{1, 1}}];
hplane = ConicHullRegion[{0, 0}, {{1, 1}}, {{1, 0}}];RegionEmbeddingDimension /@ {line, hplane}Geometric dimension is the dimension of the region itself:
RegionDimension /@ {line, hplane}ℛ = ConicHullRegion[{{0, 0, 0}, {1, 1, 1}}];{RegionMember[ℛ, {2, 2, 2}], RegionMember[ℛ, {2, 2, 3}]}Get conditions for point membership:
RegionMember[ℛ, {x, y, z}]A ConicHullRegion has infinite measure:
ℛ = ConicHullRegion[{{1, 2}, {3, 4}}];RegionMeasure[ℛ]RegionCentroid[ℛ]ℛ = ConicHullRegion[{{2, 2}}, {{3, 1}, {1, 3}}];RegionDistance[ℛ, {0, 1}]Distance to the nearest point:
{Plot3D[Evaluate@RegionDistance[ℛ, {x, y}], {x, 1, 3}, {y, 1, 3}, MeshFunctions -> {#3&}, Mesh -> 5, Exclusions -> None], ContourPlot[Evaluate@RegionDistance[ℛ, {x, y}], {x, 0, 4}, {y, 0, 4}, Contours -> {{0.5, Red}, {1, Green}, {1.5, Blue}}, Exclusions -> None]}ℛ = ConicHullRegion[{{0, 0}, {1, 0}}, {{0, 1}}];SignedRegionDistance[ℛ, {2, 3}]ℛ = ConicHullRegion[{{2, 2}, {3, 3}}];RegionNearest[ℛ, {5, 6}]pts = Table[{1, 2} + 5{Cos[k 2 π / 16], Sin[k 2π / 16]}, {k, 0., 15}];
nst = RegionNearest[ℛ, #]& /@ pts;Legended[Graphics[{{Thick, Gray, ℛ}, {Thin, Gray, Line[Transpose[{pts, nst}]]}, {Red, Point[pts]}, {Blue, Point[nst]}}], PointLegend[{Red, Blue}, {"start", "nearest"}]]A conic hull region is unbounded:
ℛ = ConicHullRegion[{{0, 0, 0}, {1, 0, 0}}, {{0, 1, 0}}];BoundedRegionQ[ℛ]But may not be unbounded in all dimensions:
RegionBounds[ℛ]Integrate over a ConicHullRegion:
ℛ = ConicHullRegion[{0, 0}, {{1, 0}, {0, 1}}];Integrate[Exp[-(x^2 + y^2)], {x, y}∈ℛ]ℛ = ConicHullRegion[{{0, 1}, {1, 0}}, {{1, 1}}];Maximize[{-(x^2 + y^2), {x, y}∈ℛ}, {x, y}]Solve equations over a conic hull:
ℛ = ConicHullRegion[{{0, 0}}, {{0, 1}, {1 / 2, 1 / 2}}];Reduce[x^2 + y^2 == 1 && {x, y}∈ℛ, {x, y}]Applications (4)
Define a region that occupies each quadrant:
rl = Flatten[Table[ConicHullRegion[{{0, 0}}, {{x, 0}, {0, y}}], {x, {-1, 1}}, {y, {-1, 1}}]]Table[Graphics[{StandardBlue, r}, Axes -> True], {r, rl}]Define a region that occupies each octant:
rl = Flatten[Table[ConicHullRegion[{{0, 0, 0}}, {{x, 0, 0}, {0, y, 0}, {0, 0, z}}], {x, {-1, 1}}, {y, {-1, 1}}, {z, {-1, 1}}]];Graphics3D /@ rlConstruct a conic hull region from a center point and points on a circle:
rl = Table[ConicHullRegion[{{0, 0, -1}}, Table[{Cos[k 2π / n], Sin[k 2π / n], 1}, {k, 0., n - 1}]], {n, 3, 12, 3}];Table[Graphics3D[{Opacity[0.5], Yellow, r}, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}], {r, rl}]Construct a conic hull region from a center point and points on a parametric curve:
o = {0, 0, 0};
f[t_] := {16Sin[t] ^ 3, 13Cos[t] - 5Cos[2t] - 2Cos[3t] - Cos[4t], 16};
pts = Table[f[t], {t, 0, 2π, 0.1}];chr = ConicHullRegion[{o}, pts];
Graphics3D[chr, PlotRange -> {{-16, 16}, {-17, 12}, {0, 16}}]Properties & Relations (5)
InfiniteLine is a special case of ConicHullRegion:
pl = {{1, 2}, {3, 4}};Reduce[{x, y}∈ConicHullRegion[pl]⧦{x, y}∈InfiniteLine[pl], {x, y}, Reals]HalfLine is a special case of ConicHullRegion:
Subscript[ℛ, 1] = ConicHullRegion[{{0, 0}}, {{1, 1}}];
Subscript[ℛ, 2] = HalfLine[{0, 0}, {1, 1}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]InfinitePlane is a special case of ConicHullRegion:
Subscript[ℛ, 1] = ConicHullRegion[{0, 0, 0}, {{1, 0, 0}, {0, 1, 0}}];
Subscript[ℛ, 2] = InfinitePlane[{0, 0, 0}, {{1, 0, 0}, {0, 1, 0}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]HalfPlane is a special case of ConicHullRegion:
Subscript[ℛ, 1] = ConicHullRegion[{{0, 0}, {1, 0}}, {{0, 1}}];
Subscript[ℛ, 2] = HalfPlane[{{0, 0}, {1, 0}}, {0, 1}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]ImplicitRegion can represent any ConicHullRegion:
Subscript[ℛ, 1] = ImplicitRegion[-1 - x + y == 0, {x, y}];Subscript[ℛ, 2] = ConicHullRegion[{{1, 2}, {3, 4}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]See Also
Related Guides
History
Text
Wolfram Research (2014), ConicHullRegion, Wolfram Language function, https://reference.wolfram.com/language/ref/ConicHullRegion.html.
CMS
Wolfram Language. 2014. "ConicHullRegion." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ConicHullRegion.html.
APA
Wolfram Language. (2014). ConicHullRegion. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConicHullRegion.html
BibTeX
@misc{reference.wolfram_2026_conichullregion, author="Wolfram Research", title="{ConicHullRegion}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ConicHullRegion.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_conichullregion, organization={Wolfram Research}, title={ConicHullRegion}, year={2014}, url={https://reference.wolfram.com/language/ref/ConicHullRegion.html}, note=[Accessed: 12-June-2026]}