自動の領域簡約
特別領域に対する操作がバージョン11では向上し,特別領域の中で,可能であれば最もよく表すものを返すようになった.
単位円板を単位長方形と交差させる.
In[1]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_39.png)
RegionIntersection[Disk[], Rectangle[]]
Out[1]=
![](assets.ja/automatic-region-simplification/O_24.png)
![](assets.ja/automatic-region-simplification/O_25.png)
特別領域にアフィン変換を適用する.
In[2]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_40.png)
TransformedRegion[Disk[{1, 2}, {1, 2}],
AffineTransform[{{{1, 2}, {3, 1}}, {1, 2}}]]
Out[2]=
![](assets.ja/automatic-region-simplification/O_26.png)
In[3]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_41.png)
TransformedRegion[Rectangle[],
ShearingTransform[\[Pi]/4, {1, 0}, {0, 1}]]
Out[3]=
![](assets.ja/automatic-region-simplification/O_27.png)
2つの領域の積を取り,より高次元の特別領域を作成する.
In[4]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_42.png)
RegionProduct[Interval[{a, b}], Disk[{x, y}, r]]
Out[4]=
![](assets.ja/automatic-region-simplification/O_28.png)
In[5]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_43.png)
RegionProduct[Parallelepiped[{1, 1, 1}, IdentityMatrix[3]],
Rectangle[]]
Out[5]=
![](assets.ja/automatic-region-simplification/O_29.png)
特別領域間の差分を計算する.
In[6]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_44.png)
RegionDifference[Disk[{0, 0}, 2], Rectangle[{2, 2}]]
Out[6]=
![](assets.ja/automatic-region-simplification/O_30.png)
In[7]:=
![Click for copyable input](assets.ja/automatic-region-simplification/In_45.png)
RegionDifference[Cuboid[], Ball[{0, 0, 0}, 2]]
Out[7]=
![](assets.ja/automatic-region-simplification/O_31.png)