RegionCentroid[reg]
領域 reg の重心を与える.
RegionCentroid
RegionCentroid[reg]
領域 reg の重心を与える.
詳細とオプション
- RegionCentroidは,質量中心,力学重心,重心等としても知られている.
- 重心は,事実上,Integrate[{x1,…,xn},{x1,…,xn}∈reg]/RegionMeasure[reg]で与えられる.
- 領域が凸面のとき,重心は領域内にある.それ以外の場合は,通常,重心は領域内にはない.
- 行が埋込み次元,列が幾何学次元に対応する,いくつかの例.
- 領域 reg が有限個の点からなっている場合,RegionCentroidは平均を与える.
- 無限のRegionMeasureからなる領域にはRegionCentroidはなく,点がIndeterminate座標で返される.
- RegionCentroidは,パラメータに関する仮定を指定するために使うことができるAssumptionsオプションを取る.
- RegionCentroidは,GeometricSceneの記号領域と一緒に使うことができる.
例題
すべて開く すべて閉じる例 (2)
RegionCentroid[Disk[{x, y}, r]]RegionCentroid[Rectangle[{a, b}, {c, d}]]Polygonの重心:
ℛ = Polygon[{{0, 0}, {1, 0}, {1.5, 0.5}, {1, 1}, {0, 1}, {-0.5, 0.5}}];RegionCentroid[ℛ]Graphics[{LightBlue, ℛ, Red, Point[RegionCentroid[ℛ]]}]スコープ (25)
特別領域 (10)
Pointについての重心は座標の平均に相当する:
ℛ = Point[Tuples[Range[5], 2]];
Region[ℛ]RegionCentroid[ℛ]RegionCentroid[Point[Tuples[Range[5], 4]]]Line:
ℛ = Line[{{0, 0}, {1, 1}, {1, 0}}];
Graphics[{ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]RegionCentroid[Line[{{0}, {1}}]]RegionCentroid[Line[{{0, 0, 0}, {1, 1, 1}}]]Rectangleは2Dで使うことができる:
RegionCentroid[Rectangle[{Subscript[l, x], Subscript[l, y]}, {Subscript[u, x], Subscript[u, y]}]]ℛ = Rectangle[{0, 1}, {3, 3}];
Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Cuboidは任意数の次元で使うことができる:
RegionCentroid[Cuboid[{Subscript[l, x], Subscript[l, y], Subscript[l, z]}, {Subscript[u, x], Subscript[u, y], Subscript[u, z]}]]ℛ = Cuboid[{1, 2, 3}, {5, 5, 5}];
Graphics3D[{{Opacity[0.5], ℛ}, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]4DのCuboid:
RegionCentroid[Cuboid[{Subscript[l, x], Subscript[l, y], Subscript[l, z], Subscript[l, w]}, {Subscript[u, x], Subscript[u, y], Subscript[u, z], Subscript[u, w]}]]Simplexは,2Dの点,線,三角形のいずれかに合致することができる:
ℛ = {Simplex[{{0, 0}}], Simplex[{{0, 0}, {1, 1}}], Simplex[{{0, 0}, {1, 0}, {0, 1}}]};Table[Framed@Graphics[{Lighter[Blue, 0.5], s, Red, Point[RegionCentroid[s]]}, ImageSize -> 50], {s, ℛ}]RegionCentroid /@ ℛRegionCentroid[Simplex[{{0}, {1}}]]RegionCentroid[Simplex[{{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]]
次元の標準的な単位Simplexの重心:
Table[RegionCentroid[Simplex[n]], {n, 1, 5}]Polygonの重心は領域の外側にあることがある:
ℛ = Polygon[{{0, 0}, {3, -1}, {1, 0}, {3, 1}}];
Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]ℛ = Polygon[{{0, 0, 0}, {(5/3), (2/3), -(4/3)}, {(8/15), (8/15), -(4/15)}, {1, 2, 0}}];
Graphics3D[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Diskは2Dで使うことができる:
RegionCentroid[Disk[{Subscript[c, x], Subscript[c, y]}, r]]ℛ = Disk[{2, 3}, 2];
Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Ballは任意の次元で使うことができる:
RegionCentroid[Ball[{Subscript[c, x], Subscript[c, y], Subscript[c, z]}, r]]ℛ = Ball[{1, 2, 3}, 4];
Graphics3D[{{Opacity[0.5], ℛ}, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]RegionCentroid[Ball[{Subscript[c, x], Subscript[c, y], Subscript[c, z], Subscript[c, w]}, r]]楕円としてのDiskは2Dで使うことができる:
RegionCentroid[Disk[{Subscript[c, x], Subscript[c, y]}, {Subscript[r, x], Subscript[r, y]}]]ℛ = Disk[{0, 0}, {3, 2}];
Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Ellipsoidは任意の次元で使うことができる:
RegionCentroid[Ellipsoid[{Subscript[c, x], Subscript[c, y], Subscript[c, z], Subscript[c, w]}, {Subscript[r, x], Subscript[r, y], Subscript[r, z], Subscript[r, w]}]]ℛ = Ellipsoid[{0, 0, 0}, {3, 2, 1}];
Graphics3D[{{Opacity[0.5], ℛ}, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Circleは2Dで使うことができる:
RegionCentroid[Circle[{Subscript[c, x], Subscript[c, y]}, r]]ℛ = Circle[{0, 0}, 1];
Graphics[{ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]RegionCentroid[Circle[{Subscript[c, x], Subscript[c, y]}, {Subscript[r, x], Subscript[r, y]}]]ℛ = Circle[{0, 0}, {3, 2}];
Graphics[{ℛ, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Cylinderは3Dで使うことができる:
RegionCentroid[Cylinder[{{Subscript[x, 1], Subscript[y, 1], Subscript[z, 1]}, {Subscript[x, 2], Subscript[y, 2], Subscript[z, 2]}}, r]]ℛ = Cylinder[{{0, 0, 0}, {0, 0, 2}}, 1];
Graphics3D[{{Opacity[0.5], ℛ}, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]Coneは3Dで使うことができる:
RegionCentroid[Cone[{{Subscript[x, 1], Subscript[y, 1], Subscript[z, 1]}, {Subscript[x, 2], Subscript[y, 2], Subscript[z, 2]}}, r]]ℛ = Cone[{{0, 0, 0}, {0, 0, 2}}, 1];
Graphics3D[{{Opacity[0.5], ℛ}, Red, Point[RegionCentroid[ℛ]]}]RegionCentroid[ℛ]数式定義領域 (2)
ImplicitRegionとして表された円板の重心:
RegionCentroid[ImplicitRegion[x^2 + y^2 ≤ 1, {x, y}]]RegionCentroid[ImplicitRegion[x^2 + y^2 ≤ 1, {x, y, {z, 0, 2}}]]ParametricRegionとして表された円板の重心:
RegionCentroid[ParametricRegion[{r Cos[θ], r Sin[θ]}, {{r, 0, 1}, {θ, 0, 2π}}]]RegionCentroid[ParametricRegion[{r(1 - t^2/1 + t^2), r(2t/1 + t^2)}, {t, {r, 0, 1}}]]RegionCentroid[ParametricRegion[{r Cos[θ], r Sin[θ], z}, {{r, 0, 1}, {θ, 0, 2π}, {z, 0, 2}}]]メッシュ領域 (2)
MeshRegionの重心:
ℛ = DelaunayMesh[RandomReal[1, {10, 2}]];c = RegionCentroid[ℛ]Show[ℛ, Graphics[{Red, Point[c]}]]ℛ = MeshRegion[{{0, 0}, {1, 0}, {2, -1}, {2, 1}}, {Line[{{1, 2, 3, 4, 2}}]}];c = RegionCentroid[ℛ]Show[ℛ, Graphics[{Red, Point[c]}]]ℛ = DelaunayMesh[RandomReal[1, {20, 3}]];c = RegionCentroid[ℛ]Show[HighlightMesh[ℛ, Style[2, Opacity[0.15]]], Graphics3D[{Red, PointSize[Medium], Point[c]}]]ℛ = ConvexHullMesh[RandomReal[1, {10, 2}]];c = RegionCentroid[ℛ]Show[ℛ, Graphics[{Red, Point[c]}]]ℛ = ConvexHullMesh[RandomReal[1, {20, 3}]];c = RegionCentroid[ℛ]Show[HighlightMesh[ℛ, Style[2, Opacity[0.25]]], Graphics3D[{Red, PointSize[Medium], Point[c]}]]派生領域 (5)
ℛ = RegionIntersection[Disk[{0, 0}, 1], Disk[{0, 1}, 1]];c = RegionCentroid[ℛ]Show[DiscretizeRegion[ℛ], Graphics[{Red, Point[c]}]]ℛ = TransformedRegion[Disk[{0, 0}, 1], ShearingTransform[30 Degree, {1, 0}, {0, 1}]];c = RegionCentroid[ℛ]Show[DiscretizeRegion[ℛ, {{-2, 2}, {-1, 1}}], Graphics[{Red, Point[c]}]]RegionBoundaryの重心:
ℛ = RegionBoundary[Simplex[2]]c = RegionCentroid[ℛ]Show[DiscretizeRegion[ℛ, {{-1.1, 1.1}, {-1.1, 1.1}}], Graphics[{Red, Point[c]}]]{r1, r2, r3} = {Disk[], ParametricRegion[{{u v, u ^ 2 - v ^ 2}, -1 ≤ u + v ≤ 1}, {u, v}], Simplex[{{0, 0}, {0, 1}, {1, 0}}]};RegionCentroid[BooleanRegion[#1 && (#2 || !#3)&, {r1, r2, r3}]]//Togetherℛ = InverseTransformedRegion[Disk[], {Indexed[#1, 1] + Indexed[#1, 2] + 1, Indexed[#1, 1] - Indexed[#1, 2] + 2}& , 2]RegionCentroid[ℛ]地理的領域 (2)
GeoPositionを使った多角形の重心:
ℛ = Polygon[GeoPosition[{{{40.083441, -88.235716}, {40.083607, -88.257488}, {40.082603, -88.257149},
{40.076136999999996, -88.25740499999999}, {40.076178, -88.270888}, {40.076516, -88.271558},
{40.083686, -88.271512}, {40.083659999999995, -88.267046}, ... 33323}, {40.098112, -88.228687},
{40.095216, -88.228627}, {40.095179, -88.238547}, {40.094480999999995, -88.238546},
{40.094508999999995, -88.23267}, {40.094106, -88.232556}, {40.090666999999996, -88.232477},
{40.090741, -88.235745}}}]];RegionCentroid[ℛ]GeoGridPositionを使った多角形の重心:
ℛ = Polygon[GeoGridPosition[{{{-0.9950503945490105, 1.2366760550756015},
{-0.9952074890903578, 1.2369207053693891}, {-0.9952196732768064, 1.2369073327446167},
{-0.9953160063787643, 1.236848436956935}, {-0.9954141759436825, 1.2369993898475449},
{-0. ... 197645333103}, {-0.9949098578570917, 1.2368130881428654},
{-0.9948663952535768, 1.2367477711687371}, {-0.9948714472169538, 1.2367426500757825},
{-0.9949211061652593, 1.2367089232486177}, {-0.9949439717990124, 1.236746107097628}}}, "Bonne"]];RegionCentroid[ℛ]CSG領域 (2)
2DのCSGRegionの重心:
ℛ = CSGRegion["Difference", {Disk[], Disk[{0.5, 0.5}]}];c = RegionCentroid[ℛ]Show[ℛ, Graphics[{Red, Point[c]}]]3DのCSGRegionの重心:
ℛ = CSGRegion["Difference", {Cube[3], Cuboid[{-1, -3, -1}, {3, 3, 3}]}];c = RegionCentroid[ℛ]Show[ℛ, Graphics3D[{Red, Point[c]}]]細分割領域 (2)
2DのSubdivisionRegionの重心:
ℛ = SubdivisionRegion[Rectangle[]];c = RegionCentroid[ℛ]Show[ℛ, Graphics[{Red, Point[c]}]]3DのSubdivisionRegionの重心:
ℛ = SubdivisionRegion[Cube[]];c = RegionCentroid[ℛ]Show[Region[ℛ, BaseStyle -> {FaceForm[Opacity[0.2]]}], Graphics3D[{Red, Point[c]}]]アプリケーション (5)
gm = ExampleData[{"Geometry3D", "Cow"}, "MeshRegion"]c = RegionCentroid[gm]Show[MeshRegion[gm, BaseStyle -> Opacity[.4]], Graphics3D[{Red, Point@c}]]
で与えられる,密度を持つ領域の質量の中心を計算し,重心と比べる:
ℛ = Disk[];c1 = RegionCentroid[ℛ]
c2 = Integrate[{x, y}(x - 1)^2(y - 1)^2, {x, y}∈ℛ] / Area[ℛ]Legended[Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[c2], Blue, Point[c1]}], PointLegend[{Red, Blue}, {"Center of Mass", "Centroid"}]]ContourPlot[(x - 1)^2(y - 1)^2, {x, y}∈ℛ]pts = {a, b, c} = {{1, 2}, {0, 0}, {3, 0}};circumCenter = RegionCentroid[Circumsphere[pts]];bisector = Line[{circumCenter, RegionCentroid[Line[{a, b}]]}];Graphics[{{LightGray, Circumsphere[pts]}, {LightBlue, Triangle[pts]}, {Dashed, Red, bisector}, {Blue, Point[pts]}, {Red, PointSize[Large], Point[circumCenter]}}]pts = RandomReal[1, {100, 2}];ℛ = VoronoiMesh[pts, {{0, 1}, {0, 1}}];ボロノイメッシュ中の各ボロノイ領域の重心を計算する関数を定義する:
vcf[pts_] := RegionCentroid /@ MeshPrimitives[VoronoiMesh[pts, {{0, 1}, {0, 1}}], "Faces"];先行するボロノイ領域の重心にVoronoiMeshを反復的に適用する:
centroids = NestList[vcf, pts, 3];vm = VoronoiMesh[#, {{0, 1}, {0, 1}}]& /@ centroids;MapThread[Show[#1, Graphics[{Black, Point[#2], Red, Point[vcf[#2]]}]]&, {vm, centroids}]領域内の点を無作為抽出したサンプルのMeanを取ることで,領域の重心を推測する:
ℛ = ConvexHullMesh[RandomReal[1, {10, 2}]];
mf = RegionMember[ℛ];
pts = Select[RandomVariate[UniformDistribution[RegionBounds[ℛ]], 1000], mf];
Show[ℛ, Graphics[Point[pts]]]{c1, c2} = {Mean[pts], RegionCentroid[ℛ]}Show[ℛ, Graphics[{Red, Point[c1], Black, Point[c2]}]]特性と関係 (3)
RegionCentroidは,領域が凸状ではない場合は,必ずしも領域内にある訳ではない:
ℛ = Polygon[{{0, 0}, {3, -1}, {1, 0}, {3, 1}}];
c = RegionCentroid[ℛ];
Graphics[{LightBlue, EdgeForm[Gray], ℛ, Red, Point[c]}]RegionCentroidは,m=RegionMeasure[ℛ]であるIntegrate[p,p∈ℛ]/m に等しい:
ℛ = Sphere[{1, 2, 3}];
m = RegionMeasure[ℛ];{RegionCentroid[ℛ], Integrate[p, p∈ℛ] / m}{Subscript[ℛ, 1], Subscript[ℛ, 2]} = {Disk[{0, 0}], Disk[{2, 0}]};{m1, m2} = RegionMeasure /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]};
{c1, c2} = RegionCentroid /@ {Subscript[ℛ, 1], Subscript[ℛ, 2]};(m1 c1 + m2 c2) / (m1 + m2)RegionCentroid[RegionUnion[Subscript[ℛ, 1], Subscript[ℛ, 2]]]//Simplify考えられる問題 (1)
RegionCentroidは,無限RegionMeasureの領域については,Indeterminate座標の点を返す:
ℛ = HalfSpace[{1, 1}, 0];RegionMeasure[ℛ]RegionCentroid[ℛ]テキスト
Wolfram Research (2014), RegionCentroid, Wolfram言語関数, https://reference.wolfram.com/language/ref/RegionCentroid.html.
CMS
Wolfram Language. 2014. "RegionCentroid." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RegionCentroid.html.
APA
Wolfram Language. (2014). RegionCentroid. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RegionCentroid.html
BibTeX
@misc{reference.wolfram_2026_regioncentroid, author="Wolfram Research", title="{RegionCentroid}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RegionCentroid.html}", note=[Accessed: 06-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_regioncentroid, organization={Wolfram Research}, title={RegionCentroid}, year={2014}, url={https://reference.wolfram.com/language/ref/RegionCentroid.html}, note=[Accessed: 06-November-2026]}