ConcaveHullMesh[{p1,p2,…}]
点 p1,p2,…から凹包メッシュを与える.
ConcaveHullMesh[{p1,p2,…},α]
指定のパラメータ α の凹包メッシュを与える.
ConcaveHullMesh[{p1,p2,…},α,d]
次元 d のセルの凹包メッシュを与える.
ConcaveHullMesh
ConcaveHullMesh[{p1,p2,…}]
点 p1,p2,…から凹包メッシュを与える.
ConcaveHullMesh[{p1,p2,…},α]
指定のパラメータ α の凹包メッシュを与える.
ConcaveHullMesh[{p1,p2,…},α,d]
次元 d のセルの凹包メッシュを与える.
詳細とオプション
- ConcaveHullMeshは α(アルファ)シェイプとしても知られている.
- 凹包メッシュは,通常,点から領域を再構成するために,あるいは点のクラスタリングメソッドとして使われる.
- ConcaveHullMesh[{p1,p2,…},α,d]は,半径が最高でも α の球体に収まる次元 d のセルを他の点 piを含めないようにして選択することでDelaunayMesh[{p1,p2,…}]から生成される.
- ConcaveHullMesh[{p1,p2,…},α]は次元 d のセルを選択する.ここで,d は点 piの埋込み次元である.
- ConcaveHullMeshにはMeshRegionと同じオプションが使える.
例題
すべて開く すべて閉じる例 (2)
Annulusからランダムにサンプリングされた点からの凹包メッシュ:
ConcaveHullMesh[RandomPoint[Annulus[], 2000]]Area[%]ConcaveHullMesh[MeshCoordinates[ResourceData["Horse"]], Automatic, 2]スコープ (6)
基本的な用法 (3)
ConcaveHullMesh[{{0}, {1}, {3}, {4}}]ConcaveHullMesh[{{0, 0}, {0, 1}, {-1, (1/3)}, {-1, (2/3)}, {-2, 0}, {-2, 1}}]ConcaveHullMesh[{{0, 0, 0}, {0, 1, 0}, {0, 0, 1}, {0, 1, 1}, {1, 1 / 3, 1 / 3}, {1, 2 / 3, 1 / 3}, {1, 1 / 3, 2 / 3}, {1, 2 / 3, 2 / 3}, {2, 0, 0}, {2, 1, 0}, {2, 0, 1}, {2, 1, 1}}]指定 (3)
ConcaveHullMeshは点集合を取る:
pts = {{-1, -1, -1}, {-1, -1, 1}, {-1, 1, -1}, {-1, 1, 1}, {1, -1, -1}, {1, -1, 1}, {1, 1, -1}, {1, 1, 1}};ConcaveHullMesh[pts]Pointリストを使う:
ConcaveHullMesh[Point[pts]]ConcaveHullMesh[pts, #]& /@ {0.05, 0.4, 1.0}pts = RandomPoint[Ball[], 300];ConcaveHullMesh[pts, 0.2, #] & /@ {1, 2, 3}RegionDimension /@ %All を使って点集合についての完全な
-複体を得る:
ConcaveHullMesh[pts, 0.2, All]アプリケーション (7)
曲線再構成 (1)
ConcaveHullMeshは1D曲線を1Dで再構成できる:
pts = List /@ Range[10];
ConcaveHullMesh[pts]pts = Table[{t, Cos[t]}, {t, 0, 4Pi, Pi / 20}];
ConcaveHullMesh[pts, Automatic, 1]pts = Table[{t, Cos[t], Sin[t]}, {t, 0, 8Pi, Pi / 20}];
ConcaveHullMesh[pts, Automatic, 1]曲面再構成 (4)
ConcaveHullMeshは曲面を1Dで再構成できる:
pts = RandomPoint[RegionUnion[Ball[{-2}], Ball[{2}]], 30];
ConcaveHullMesh[pts, 1, 0]RegionMeasure[%]pts = RandomPoint[RegionBoundary[Annulus[]], 500];
ConcaveHullMesh[pts, 0.1, 1]ArcLength[%]pts = RandomPoint[RegionBoundary[DiscretizeRegion[Torus[]]], 1000];
ConcaveHullMesh[pts, Automatic, 2]Area[%]ConcaveHullMeshは3Dモデルが再構成できる:
ConcaveHullMesh[MeshCoordinates[ResourceData[#]], Automatic, 2]& /@ {"Stanford Bunny", "Horse", "Cow"}ConcaveHullMeshはパラメトリック曲面が近似できる:
pts = Flatten[#, 1]&@Table[{...}, {θ, 0.001, π, 0.05}, {ϕ, 0.001, 2 π, 0.05}];ConcaveHullMesh[pts, Automatic, 2]ConcaveHullMeshは方向付けできない曲面が再構成できる:
pts = Flatten[#, 1]&@Table[{Cos[t] (3 + r Cos[t / 2]), Sin[t] (3 + r Cos[t / 2]), r Sin[t / 2]}, {r, -1, 1, 0.4}, {t, 0, 2 Pi, 0.1}];ConcaveHullMesh[pts]立体再構成 (1)
ConcaveHullMeshは立体を1Dで再構成できる:
pts = RandomPoint[Ball[{0}], 10];
ConcaveHullMesh[pts, 1]ArcLength[%]pts = RandomPoint[Annulus[], 500];
ConcaveHullMesh[pts, 0.3]Area[%]pts = RandomPoint[DiscretizeRegion[Torus[]], 1000];
ConcaveHullMesh[pts, 0.3]Volume[%]点のクラスタリング (1)
SeedRandom[123];
Dis = MixtureDistribution[...];
data = RandomVariate[Dis, 500];
ListPlot[data]ConcaveHullMesh[data, Automatic, All]ConnectedMeshComponentsを使って点をクラスタに分離する:
ConnectedMeshComponents[%]ListPlot[MeshCoordinates[#]& /@ %]特性と関係 (4)
ConcaveHullMeshは点集合の埋込み次元と次元が等しいMeshRegionを与える:
pts = RandomPoint[Ball[], 100];RegionDimension[ConcaveHullMesh[pts]]ConvexHullMeshは α が十分に大きいConcaveHullMeshに等しい:
pts = ExampleData[{"Geometry3D", "Beethoven"}, "VertexData"];ConcaveHullMesh[pts, Infinity]ConvexHullMesh[pts]RegionDimension[{%%, %}]ℛ = RandomPoint[RegionUnion[Ball[{0, 0, 0}, .2], FilledTorus[]], 1000];ConcaveHullMesh[ℛ]ConvexHullMesh[ℛ]ConcaveHullMeshはDelaunayMeshからのセルの部分集合を与える:
pts = RandomPoint[Annulus[], 100];{ConcaveHullMesh[pts], DelaunayMesh[pts]}インタラクティブな例題 (1)
凹包をリアルタイムで観察できるドラッグ可能な点を使ってインタラクティブな例を作る:
DynamicModule[{pts = Join[CirclePoints[4], CirclePoints[{0.5, Pi / 2}, 4]]},
LocatorPane[Dynamic[pts], Dynamic[Graphics[{Locator[Dynamic[#]]& /@ pts, LightGray, EdgeForm[Gray], ConcaveHullMesh[pts]}, PlotRange -> 1]], LocatorAutoCreate -> True]]関連するガイド
テキスト
Wolfram Research (2021), ConcaveHullMesh, Wolfram言語関数, https://reference.wolfram.com/language/ref/ConcaveHullMesh.html (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_2026_concavehullmesh, author="Wolfram Research", title="{ConcaveHullMesh}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ConcaveHullMesh.html}", note=[Accessed: 11-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_concavehullmesh, organization={Wolfram Research}, title={ConcaveHullMesh}, year={2022}, url={https://reference.wolfram.com/language/ref/ConcaveHullMesh.html}, note=[Accessed: 11-September-2026]}