RegionProduct[reg1,reg2]
領域 reg1と reg2の直積を表す.
RegionProduct[reg1,reg2,…]
領域 reg1,reg2,…の直積を表す.
RegionProduct
RegionProduct[reg1,reg2]
領域 reg1と reg2の直積を表す.
RegionProduct[reg1,reg2,…]
領域 reg1,reg2,…の直積を表す.
詳細
- RegionProductは,外積領域としても知られている.
- RegionProduct[reg1,reg2]は,領域
を表す. - 積領域の埋込み次元は埋込み次元の和であり,幾何次元は幾何次元の和である.
例題
すべて開く すべて閉じる例 (3)
ℛ = RegionProduct[Line[{{0}, {1}}], Line[{{0}, {1}}]];RegionMeasure[ℛ]Region[ℛ]ℛ = RegionProduct[Disk[{0, 0}, 1], Line[{{0}, {1}}]];RegionMeasure[ℛ]Region[ℛ]2つのBoundaryMeshRegionオブジェクトの積:
bmr1 = BoundaryMeshRegion[{{0, 0}, {1, 0}, {1, 1}, {0, 1}}, Line[{1, 2, 3, 4, 1}]];
bmr2 = BoundaryMeshRegion[{{0}, {1}}, Point[{{1}, {2}}]];
ℛ = RegionProduct[bmr1, bmr2]スコープ (7)
数式定義領域 (3)
1DにおけるImplicitRegionとParametricRegionの積:
ℛ1 = ImplicitRegion[0 ≤ x ≤ 3, {x}];
ℛ2 = ParametricRegion[{t}, {{t, 0, 3}}];
ℛ = RegionProduct[ℛ1, ℛ2];そのAreaを計算する:
Area[ℛ]Region[ℛ]2つのImplicitRegionオブジェクトの積:
ℛ1 = ImplicitRegion[y ≥ x ^ 2, {x, y}];
ℛ2 = ImplicitRegion[1 ≤ x ≤ 2, {x}];
ℛ = RegionProduct[ℛ1, ℛ2];BoundedRegionQ[ℛ]Volume[ℛ]2つのParametricRegionオブジェクトの積:
ℛ1 = ParametricRegion[{r Cos[θ], r Sin[θ]}, {{r, 0, 1}, {θ, 0, 2π}}];
ℛ2 = ParametricRegion[{t}, {{t, 0, 1}}];
ℛ = RegionProduct[ℛ1, ℛ2];そのVolumeを計算する:
Volume[ℛ]メッシュ領域 (4)
1Dにおける2つのBoundaryMeshRegionオブジェクトの積:
mr1 = BoundaryMeshRegion[{{0}, {1}}, Point[{1, 2}]];
mr2 = BoundaryMeshRegion[{{0}, {1}}, Point[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]結果はMeshRegionであって,BoundaryMeshRegionではない:
{MeshRegionQ[ℛ], BoundaryMeshRegionQ[ℛ]}1Dにおける2つのMeshRegionオブジェクトの積:
mr1 = MeshRegion[{{0}, {1}, {2}, {3}}, Line[{{1, 2}, {3, 4}}]];
mr2 = MeshRegion[{{0}, {1}}, Line[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]Areaを計算する:
Area[ℛ]1Dおよび2DのBoundaryMeshRegionオブジェクトの積:
mr1 = ConvexHullMesh[RandomReal[2, {10, 2}]];
mr2 = BoundaryMeshRegion[{{0}, {1}}, Point[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]Volumeを計算する:
Volume[ℛ]1Dおよび2DのMeshRegionオブジェクトの積:
mr1 = DelaunayMesh[RandomReal[2, {10, 2}]];
mr2 = MeshRegion[{{0}, {1}}, Line[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]Volumeを計算する:
Volume[ℛ]アプリケーション (2)
テンソル積メッシュをいくつかの1Dメッシュの積として定義する:
pointsToMesh[data_] :=
MeshRegion[Transpose[{data}], Line@Table[{i, i + 1}, {i, Length[data] - 1}]];data = Table[Exp[x], {x, 0., 2, 0.1}];r1 = pointsToMesh[data]RegionProduct[r1, r1]RegionProduct[r1, r1, r1]カントール(Cantor)集合の段階を表すMeshRegionを直接構築する.この集合は,区間{0,1}から始めて,各段階で中央の1/3を取り除くことで定義できる:
cantor = {a_, b_} :> {{a, a + (b - a) / 3}, {a + (b - a)2 / 3, b}};CantorRegion[n_Integer ? NonNegative] :=
Module[{ints},
ints = Nest[Flatten[Map[Function[s, s /. cantor], #], 1]&, {{0, 1}}, n];
MeshRegion[Transpose[{Flatten[ints]}], Line@Table[{i, i + 1}, {i, 1, Length[ints]2, 2}], MeshCellStyle -> {{0, _} -> Directive[StandardGray, PointSize[Medium]], {1, _} -> Directive[Thick, Orange]}]]CantorRegion[0]CantorRegion[1]CantorRegion[3]RegionProductを使ってカントールの塵を作る:
CantorDust[k_, n_] := RegionProduct@@Table[CantorRegion[k], {n}]Table[CantorDust[k, 2], {k, 3}]Table[CantorDust[k, 3], {k, 3}]Table[RegionMeasure[CantorRegion[k]], {k, 5}]//RationalizeFindSequenceFunction[%, n]Table[RegionMeasure[CantorDust[k, 2]], {k, 5}]//RationalizeFindSequenceFunction[%, n]Table[{k, RegionMeasure[CantorDust[k, 3]]}, {k, 0, 3}]//RationalizeFindSequenceFunction[%, n]特性と関係 (10)
積のRegionEmbeddingDimensionは,入力埋込み次元の総和である:
mr1 = MeshRegion[Tuples[{0, 1, 2, 3}, 2], Point[Range[16]]];
mr2 = MeshRegion[{{0}, {1}}, Line[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]RegionEmbeddingDimension[ℛ] == RegionEmbeddingDimension[mr1] + RegionEmbeddingDimension[mr2]積のRegionDimensionは,入力次元の総和である:
ℛ1 = Disk[];
ℛ2 = Line[{{0}, {1}}];
ℛ = RegionProduct[ℛ1, ℛ2];RegionDimension[ℛ] == RegionDimension[ℛ1] + RegionDimension[ℛ2]特殊な領域のRegionProductは,未評価のまま残される:
ℛ = RegionProduct[Disk[], Line[{{0}, {1}}]]RegionQ[ℛ]{RegionMeasure[ℛ], RegionCentroid[ℛ]}数式定義領域のRegionProductは,未評価のまま残される:
ℛ1 = ImplicitRegion[x ^ 2 + y ^ 2 ≤ 1, {x, y}];
ℛ = RegionProduct[ℛ1, ℛ1]RegionQ[ℛ]{RegionMeasure[ℛ], RegionCentroid[ℛ]}MeshRegionオブジェクあるいはBoundaryMeshRegionオブジェクトの積は,それ自身がMeshRegionである:
mr1 = DelaunayMesh[RandomReal[2, {10, 2}]];
mr2 = BoundaryMeshRegion[{{0}, {1}}, Point[{1, 2}]];
ℛ = RegionProduct[mr1, mr2]MeshRegionQ[ℛ]積のRegionMeasureは,入力測度の積である:
ℛ1 = Disk[{0, 0}, {3, 2}, {π / 4, 3π / 4}];
ℛ2 = Line[{{0}, {2}}];
ℛ = RegionProduct[ℛ1, ℛ2];RegionMeasure[ℛ] == RegionMeasure[ℛ1]RegionMeasure[ℛ2]積のRegionCentroidは,入力の重心を結合したものである:
ℛ1 = Disk[{0, 0}, {3, 2}, {π / 4, 3π / 4}];
ℛ2 = Line[{{0}, {2}}];
ℛ = RegionProduct[ℛ1, ℛ2];RegionCentroid[ℛ] == Join[RegionCentroid[ℛ1], RegionCentroid[ℛ2]]ℛ1 = RegionProduct[Line[{{0}, {2}}], Line[{{0}, {1}}]];
ℛ2 = Rectangle[{0, 0}, {2, 1}];{Region[ℛ1], Region[ℛ2]}RegionEqual[ℛ1, ℛ2]ℛ1 = RegionProduct[Line[{{0}, {3}}], Line[{{0}, {2}}], Line[{{0}, {1}}]];
ℛ2 = Cuboid[{0, 0, 0}, {3, 2, 1}];{Region[ℛ1], Region[ℛ2]}RegionEqual[ℛ1, ℛ2]ℛ1 = RegionProduct[Disk[{0, 0}, 2], Line[{{0}, {1}}]];
ℛ2 = Cylinder[{{0, 0, 0}, {0, 0, 1}}, 2];{Region[ℛ1], Region[ℛ2]}RegionEqual[ℛ1, ℛ2]おもしろい例題 (1)
カントールの塵のような領域をカントール集合の積として定義する:
cantor = {a_, b_} :> {{a, a + (b - a) / 3}, {a + (b - a)2 / 3, b}};CantorRegion[n_Integer ? NonNegative] :=
Module[{ints},
ints = Nest[Flatten[Map[Function[s, s /. cantor], #], 1]&, {{0, 1}}, n];
MeshRegion[Transpose[{Flatten[ints]}], Line@Table[{i, i + 1}, {i, 1, Length[ints]2, 2}]]]CantorDust[n_List] := RegionProduct@@(CantorRegion /@ n)Table[CantorDust[{i, j}], {i, 0, 3}, {j, 0, 3}]//GraphicsGridTable[CantorDust[{i, j, k}], {i, 1, 3}, {j, 1, 2}, {k, 1, 2}]関連するガイド
-
▪
- 幾何学的派生領域
テキスト
Wolfram Research (2014), RegionProduct, Wolfram言語関数, https://reference.wolfram.com/language/ref/RegionProduct.html.
CMS
Wolfram Language. 2014. "RegionProduct." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RegionProduct.html.
APA
Wolfram Language. (2014). RegionProduct. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RegionProduct.html
BibTeX
@misc{reference.wolfram_2026_regionproduct, author="Wolfram Research", title="{RegionProduct}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RegionProduct.html}", note=[Accessed: 06-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_regionproduct, organization={Wolfram Research}, title={RegionProduct}, year={2014}, url={https://reference.wolfram.com/language/ref/RegionProduct.html}, note=[Accessed: 06-November-2026]}