CanonicalizePolygon[poly]
共通座標および内側と外側の境界で表す多角形 poly の正準表現を与える.
CanonicalizePolygon[poly,"filter"]
指定されたフィルタをかけた poly の正準表現を与える.
CanonicalizePolygon
CanonicalizePolygon[poly]
共通座標および内側と外側の境界で表す多角形 poly の正準表現を与える.
CanonicalizePolygon[poly,"filter"]
指定されたフィルタをかけた poly の正準表現を与える.
詳細
- CanonicalizePolygonは,さまざまな表現や説明から多角形の単純な標準表現を得るのに使われる.
- CanonicalizePolygonは,多角形を最適化された標準形Polygon[{p1,p2,…},{outer1,outer2inner2,…}]に変換する.
- 点 piは交差しない線分の端点で,Sort順にソートされる.
- 外側境界 outerkは,端点で接触している可能性はあるがその他の交差はない線分{pi,pj}の閉曲線である.
- 内側境界 innerkは,端点で接触している可能性はあるがその他の交差はない線分{pi,pj}の閉曲線である.
- 一般的な多角形指定で,線および点を表す退化した多角形を与えることができる."filter"指定を使うことで,これらの低次元成分を保持するかどうかが制御できる.
- 次は,可能な"filter"指定である.
-

All 線や点を含む全成分 
Full 全次元成分のみ
例題
すべて開く すべて閉じる例 (1)
Polygonの正準形を求める:
𝒫 = Polygon[{{1, 0}, {0, Sqrt[3]}, {-1, 0}}];CanonicalizePolygon[𝒫]Graphics[%]スコープ (9)
基本的な用法 (7)
CanonicalizePolygonは多角形に使うことができる:
Polygon[{{0, 0}, {1., 0.}, {0.5, 1}}];CanonicalizePolygon[%]CanonicalizePolygon[Triangle[]]CanonicalizePolygon[Rectangle[]]Polygon[{{0, 0}, {3, 0}, {3, 3}, {0, 3}, {1, 1}, {1, 2}, {2, 2}, {2, 1}}, {1, 2, 3, 4} -> {{5, 6, 7, 8}}];CanonicalizePolygon[%]CanonicalizePolygonは地理実体の多角形に使うことができる:
CanonicalizePolygon[Polygon[["france"]]]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}}}]];CanonicalizePolygon[%]GeoPositionXYZを使った多角形:
Polygon[GeoPositionXYZ[{{{150451.6968462432, -4.884430486484052*^6, 4.085078564164219*^6},
{148595.27532671497, -4.884475441490381*^6, 4.085092666620835*^6},
{148626.35829777512, -4.884546311005128*^6, 4.0850073717259285*^6},
{148618.5908634042 ... 7*^6, 4.0860187668081024*^6},
{150697.56410771207, -4.8836599487428395*^6, 4.085984535480795*^6},
{150711.88303095422, -4.883905546449982*^6, 4.0856924143435075*^6},
{150433.15479548014, -4.883908845676418*^6, 4.0856987003255524*^6}}}]];CanonicalizePolygon[%]GeoPositionENUを使った多角形:
Polygon[GeoPositionENU[{{{3378.2547059731055, -3369.2234780923936, -0.7440009205072329},
{1521.3211635380246, -3351.391253626573, -0.022340134218666208},
{1550.2571145363192, -3462.8657556618973, -0.08899812728964207},
{1528.5672303494055, -418 ... 63383291193, -0.37494203351275246},
{3654.121991908476, -2566.7472331234085, -0.5214977847472255},
{3375.420726854886, -2558.6597093173914, -0.3648706331350695}}},
GeoPosition[{40.11379115639895, -88.2753251202516, -1.0415787873318691}]]];CanonicalizePolygon[%]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"]];CanonicalizePolygon[%]Polygon[{{0.35, 0.2}, {0.9, 0.75}, {0.1, 0.55}, {0.9, 0.35}, {0.42, 0.9}}];CanonicalizePolygon[%]Polygon[{{0, 0}, {1, 0}, {0, 1}, {1, 1}, {2, 1}, {1, 2}}, {{1, 2, 3}, {4, 5, 6}}];CanonicalizePolygon[%]Polygon[{{2, 3, 1, 0}, {6, 9, 1, 0}, {5, 4, 1, 0}, {8, 2, 1, 0}}, {1, 2, 3, 4}];CanonicalizePolygon[%]指定 (2)
𝒫 = Polygon[{{{1, 0}, {0, Sqrt[3]}, {-1, 0}}, {{2, 2}, {3, 3}}}]CanonicalizePolygon[𝒫, All]𝒫 = Polygon[{{{1, 0}, {0, Sqrt[3]}, {-1, 0}}, {{2, 2}, {3, 3}}}]CanonicalizePolygon[𝒫, Full]アプリケーション (2)
𝒞𝒫 = CanonicalizePolygon[Polygon[{{{0, 0, 0}, {2, 0, 0}, {1, 1, 2}}, {{2, 0, 0}, {2, 2, 0}, {1, 1, 2}}, {{2, 2, 0}, {0, 2, 0}, {1, 1, 2}}, {{0, 2, 0}, {0, 0, 0}, {1, 1, 2}}}]]Graphics3D[{GraphicsComplex[𝒞𝒫[[1]], Polygon[𝒞𝒫[[2]]]]}]seg = {{-0.6, -0.8}, {0.9, 0.3}, {-0.9, 0.3}, {0.6, -0.8}, {0., 1.}, {-0.6, -0.8}};coords = CanonicalizePolygon[Polygon[seg]][[1]];intersection = Complement[coords, seg];Graphics[{Line[seg], PointSize[Medium], Red, Point[intersection], Blue, Point[seg]}]特性と関係 (4)
CanonicalizePolygonを使ってPolygonCoordinatesを得る:
𝒫 = Polygon[{{1, 0}, {0, Sqrt[3]}, {-1, 0}}];First[CanonicalizePolygon[𝒫]]PolygonCoordinates[𝒫]単純多角形の CanonicalizePolygonは多角形座標の数を保存している:
𝒫 = Polygon[{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}];SimplePolygonQ[𝒫]Length[First[#]]& /@ {𝒫, CanonicalizePolygon[𝒫]}OuterPolygonは外側多角形の正準表現を与える:
OuterPolygon[Polygon[{{0.35, 0.2}, {0.9, 0.75}, {0.1, 0.55}, {0.9, 0.35}, {0.42, 0.9}}]]InnerPolygonは内側多角形の正準表現を与える:
InnerPolygon[Polygon[{{0.35, 0.2}, {0.9, 0.75}, {0.1, 0.55}, {0.9, 0.35}, {0.42, 0.9}}]]考えられる問題 (1)
CanonicalizePolygonは幾何領域にのみ使うことができる:
𝒫 = Polygon[{{0, 0, 0}, {1, 1, 0}, {0, 1, 0}, {0, 0, 1}}];{CanonicalizePolygon[𝒫], RegionQ[𝒫]}関連するガイド
-
▪
- 多角形
テキスト
Wolfram Research (2019), CanonicalizePolygon, Wolfram言語関数, https://reference.wolfram.com/language/ref/CanonicalizePolygon.html.
CMS
Wolfram Language. 2019. "CanonicalizePolygon." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CanonicalizePolygon.html.
APA
Wolfram Language. (2019). CanonicalizePolygon. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CanonicalizePolygon.html
BibTeX
@misc{reference.wolfram_2026_canonicalizepolygon, author="Wolfram Research", title="{CanonicalizePolygon}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/CanonicalizePolygon.html}", note=[Accessed: 10-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_canonicalizepolygon, organization={Wolfram Research}, title={CanonicalizePolygon}, year={2019}, url={https://reference.wolfram.com/language/ref/CanonicalizePolygon.html}, note=[Accessed: 10-August-2026]}