Triangle
詳細とオプション
- Triangleは,幾何領域としてあるいはグラフィックスプリミティブとして使うことができる.
- Triangleは,すべての角の点 pi が凸である組合せからなる平面領域,つまり
を表す. - Triangle[]はTriangle[{{0,0},{1,0},{0,1}}]に等しい.
- CanonicalizePolygonを使って三角形を明示的なPolygonオブジェクトに変換できる.
- 幾何学的な領域としては,点 pi は,任意の長さでよい.
- Triangleは,GraphicsおよびGraphics3Dで使える.
- グラフィックスでは,点 pi は,Scaled,Offset,ImageScaled,Dynamicのいずれの式でもよい.
- グラフィックスの描画は,FaceForm,EdgeForm,Texture,色等の指示子に影響される.
- グラフィックスで使える設定とオプション
-
VertexColors Automatic 補間される頂点の色 VertexNormals Automatic 陰影のための有効な頂点の法線 VertexTextureCoordinates None テクスチャのための座標 - Triangleは,GeometricSceneの記号的な点と一緒に使うことができる.
予備知識
- Triangle[{p1,p2,p3}]は,頂点が p1,p2,p3の塗り潰された三角形を表す.各 piは埋込み次元に対応する長さのリストとして指定される.通常,Triangleの頂点は,長さ2のリスト(2D平面の三角形)あるいは長さ3のリスト(3D空間に埋め込まれた三角形)である.引数のない形のTriangle[]を評価すると,標準的な2単体Triangle[{{0,0},{1,0},{0,1}}]になる.シンタックスTriangle[{{p11,p12,p13},…,{pk1,pk2,pk3}}]を使って複数の三角形の集合を表すことができる.
- Triangleオブジェクトは,GraphicsおよびGraphics3D, を使って,それぞれ2Dおよび3Dで視覚的にフォーマットすることができる.Triangleオブジェクトの外観は,他のグラフィックスプリミティブと同じように,辺と面の指示子EdgeFormおよびFaceForm,Redのような色指示子,透過性指示子Opacity,スタイルオプションAntialiasingを指定して変更することができる.Textureを使ってTriangleオブジェクトの表面のテクスチャとしてオブジェクトを適用することができ,オプション VertexColors,VertexNormals,VertexTextureCoordinatesを使って追加的なフォーマットを行うことができる.
- Triangleは計算を行う領域の指定にも使うことができる.Triangle[{p1,p2,p3}]に対してRegionMeasure(およびArea)はTriangleオブジェクトの面積を返すのに対し,RegionDimensionおよびRegionEmbeddingDimensionは,それぞれ2およびLength[pi]を返す.これに加え,GeometricTransformation,あるいはTranslateやRotateのようにより特殊な変換関数を使って,Triangleに適切な幾何変換を適用した結果を表すことができる.
- Triangleは他の多くのシンボルと関連している.AASTriangle,SSSTriangle,ASATriangle,SASTriangleは,適切な辺と角の指定を使って構築した二次元のTriangleオブジェクトを返す.Triangleは,Triangle[{p1,p2,p3}]がPolygon[{p1,p2,p3}]とSimplex[{p1,p2,p3}]の両方と等価であるという意味で,PolygonとSimplexの両方の特殊ケースである.Triangleの三次元単体一般化はTetrahedronとして実装されている.
例題
すべて開く すべて閉じる例 (4)
Graphics[Triangle[]]Graphics3D[Triangle[{{0, 0, 0}, {1, 0, 0}, {0, 1, 1}}]]Triangleに適用されたさまざまなスタイル:
ℛ = Triangle[{{0, 0}, {1, 1}, {2, 0}}];
{Graphics[{Pink, ℛ}], Graphics[{EdgeForm[Thick], Pink, ℛ}], Graphics[{EdgeForm[Dashed], Pink, ℛ}], Graphics[{EdgeForm[Directive[Thick, Dashed, Blue]], Pink, ℛ}]}Area[Triangle[{{0, 0}, {1, 0}, {1, 1}}]]RegionCentroid[Triangle[{{0, 0}, {1, 0}, {1, 1}}]]スコープ (18)
グラフィックス (8)
指定 (3)
スタイリング (2)
座標 (3)
Scaledの座標を使う:
Graphics[Triangle[{Scaled[{0.1, 0.1}], Scaled[{0.9, 0.1}], Scaled[{0.1, 0.9}]}], Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]ImageScaledの座標を使う:
Graphics[Triangle[{ImageScaled[{0, 0}], ImageScaled[{1, 0}], ImageScaled[{0, 1}]}], Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]Offsetの座標を使う:
Graphics[Triangle[{Offset[{10, 10}, {0, 0}], Offset[{-10, 10}, {1, 0}], Offset[{10, -10}, {0, 1}]}], Frame -> True]領域 (10)
RegionEmbeddingDimension[Triangle[{{0, 0}, {1, 0}, {0, 1}}]]RegionEmbeddingDimension[Triangle[{{0, 0, 0}, {1, 0, 0}, {0, 1, 1}}]]RegionDimension[Triangle[{{0, 0}, {1, 0}, {0, 1}}]]RegionDimension[Triangle[{{0, 0, 0}, {1, 0, 0}, {0, 1, 1}}]]ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];{RegionMember[ℛ, {0, 0}], RegionMember[ℛ, {1, 1}]}RegionMember[ℛ, {x, y}]Area:
ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];{Area[ℛ], RegionMeasure[ℛ]}c = RegionCentroid[ℛ]Graphics[{{Pink, ℛ}, {Black, Point[c]}}]点からTriangleまでの距離:
ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];RegionDistance[ℛ, {1, 1}]{Plot3D[Evaluate@RegionDistance[ℛ, {x, y}], {x, -1, 2}, {y, -1, 2}, MeshFunctions -> {#3&}, Mesh -> 5], ContourPlot[Evaluate@RegionDistance[ℛ, {x, y}], {x, -2, 3}, {y, -2, 3}, Contours -> {{0.5, Red}, {1, Green}, {1.5, Blue}}]}ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];SignedRegionDistance[ℛ, {1 / 3, 1 / 3}]Plot3D[SignedRegionDistance[ℛ, {x, y}], {x, -1, 2}, {y, -1, 2}, MeshFunctions -> {#3&}, Mesh -> {{0}}, MeshShading -> {Red, Green}]ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];RegionNearest[ℛ, {1, 1}]pts = Table[{1 / 3, 1 / 3} + {Cos[k 2 π / 16], Sin[k 2 π / 16]}, {k, 0, 15}];
nst = RegionNearest[ℛ, #]& /@ pts;Legended[Graphics[{{Gray, ℛ}, {Thin, Gray, Line[Transpose[{pts, nst}]]}, {Red, Point[pts]}, {Blue, Point[nst]}}], PointLegend[{Red, Blue}, {"start", "nearest"}]]ℛ = Triangle[{{0, 0}, {1, 2}, {2, 1}}];BoundedRegionQ[ℛ]rr = RegionBounds[ℛ]Graphics[{Black, ℛ, {EdgeForm[{Dashed, Red}], Opacity[0.1, Yellow], Cuboid@@Transpose[rr]}}]ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];Integrate[1, {x, y}∈ℛ]Integrate[x y, {x, y}∈ℛ]ℛ = Triangle[{{0, 0}, {1, 0}, {0, 1}}];Minimize[{(x - 1 / 2)^2(y - 1 / 4)^2 + 1, {x, y}∈ℛ}, {x, y}]Plot3D[(x - 1 / 2)^2(y - 1 / 4)^2 + 1, {x, y}∈ℛ]ℛ = Triangle[{{0, 0}, {2, 0}, {0, 2}}];Reduce[x^2 + y^2 == 1 && {x, y}∈ℛ, {x, y}]アプリケーション (6)
standard = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
kuhn = Triangle[{{0, 0}, {1, 0}, {1, 1}}];
{Graphics[standard, PlotLabel -> "Standard"], Graphics[kuhn, PlotLabel -> "Kuhn"]}EquilateralTriangle[s_] := Triangle[{{0, 0}, {s, 0}, {(s/2), (Sqrt[3] s/2)}}]t = EquilateralTriangle[2]Graphics[t]Areaを計算する:
Area[EquilateralTriangle[s]]同様にSSSTriangleを使う:
SSSTriangle[s, s, s]IsoscelesTriangle[b_, h_] := Triangle[{{0, 0}, {b, 0}, {(b/2), h}}]t = IsoscelesTriangle[2, 3]Graphics[t]Areaを計算する:
Area[IsoscelesTriangle[b, h]]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}, {Green, Point[pts]}, {Red, PointSize[Large], Point[circumCenter]}}]三角形の性質を測る方法の1つに半径と辺の比を求めるものがある:
RadiusEdgeRatio[Triangle[pl_]] := Last[Circumsphere[pl]] / Min[Norm /@ Subsets[pl, {2}]]RadiusEdgeRatio[Triangle[{{0, 0}, {1, 0}, {1, 1}}]]t1 = Triangle[{{0, 0}, {1, 0}, {1, 1}}];
t2 = Triangle[{{0, 0}, {10, 0}, {1, 1}}];
{Graphics[t1, PlotLabel -> N@RadiusEdgeRatio[t1]], Graphics[t2, PlotLabel -> N@RadiusEdgeRatio[t2]]}SymmetricSubdivision[Triangle[pl_], k_] /; 0 ≤ k < 2 ^ Length[pl] :=
Module[{n = Length[pl] - 1, i0, bl, pos},
i0 = DigitCount[k, 2, 1]; bl = IntegerDigits[k, 2, n];
pos = FoldList[If[#2 == 0, #1 + {0, 1}, #1 + {1, 0}]&, {0, i0}, Reverse[bl]];
Triangle@Map[Mean, Extract[pl, #]& /@ Map[{#}&, pos + 1, {2}]]
]Graphics[SymmetricSubdivision[Triangle[{{0, 0}, {1, 0}, {1, 1}}], #]& /@ Range[0, 3], BaseStyle -> Directive[LightBlue, EdgeForm[Gray]]]NestedSymmetricSubdivision[Triangle[pl_], level_Integer] /; level == 0 := Triangle[pl]
NestedSymmetricSubdivision[Triangle[pl_], level_Integer] /; level > 0 := Flatten[NestedSymmetricSubdivision[SymmetricSubdivision[Triangle[pl], #], level - 1]& /@ Range[0, 3], 1]Graphics[NestedSymmetricSubdivision[Triangle[{{0, 0}, {1, 0}, {1, 1}}], 3], BaseStyle -> Directive[LightBlue, EdgeForm[Gray]]]特性と関係 (5)
Subscript[ℛ, 1] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
Subscript[ℛ, 2] = Polygon[{{0, 0}, {1, 0}, {0, 1}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]Subscript[ℛ, 1] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
Subscript[ℛ, 2] = Simplex[{{0, 0}, {1, 0}, {0, 1}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]ImplicitRegionは,任意のTriangleの領域を表すことができる:
Subscript[ℛ, 1] = ImplicitRegion[0 ≤ x ≤ 1 && 0 ≤ y ≤ 1 - x, {x, y}];
Subscript[ℛ, 2] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]ParametricRegionは,任意のTriangleの領域を表すことができる:
Subscript[ℛ, 1] = ParametricRegion[{u, v}, {{u, 0, 1}, {v, 0, 1 - u}}];
Subscript[ℛ, 2] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];RegionEqual[Subscript[ℛ, 1], Subscript[ℛ, 2]]BoundaryMeshRegionは,任意のTriangleの領域を表すことができる:
BoundaryMeshRegion[{{0, 0}, {1, 0}, {0, 1}}, Line[{1, 2, 3, 1}]]関連項目
Polygon AASTriangle SSSTriangle ASATriangle SASTriangle Tetrahedron Simplex GeometricScene
形式: STL
Function Repository: Orthocenter HeronFormula LucasCircles NagelPoint EulerLinePoints LemoineInellipse
テキスト
Wolfram Research (2014), Triangle, Wolfram言語関数, https://reference.wolfram.com/language/ref/Triangle.html (2019年に更新).
CMS
Wolfram Language. 2014. "Triangle." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/Triangle.html.
APA
Wolfram Language. (2014). Triangle. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Triangle.html
BibTeX
@misc{reference.wolfram_2026_triangle, author="Wolfram Research", title="{Triangle}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Triangle.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_triangle, organization={Wolfram Research}, title={Triangle}, year={2019}, url={https://reference.wolfram.com/language/ref/Triangle.html}, note=[Accessed: 04-November-2026]}