Анализ геометрических объектов
Версия 11 предоставляет мощные и гибкие инструменты для сравнения, классификации и вычисления свойств геометрических объектов.
Определение средневзвешенного значения для геометрических областей.
In[1]:=
![Click for copyable input](assets.ru/region-moments/In_54.png)
RegionMoment[Disk[], {0, 0}]
Out[1]=
![](assets.ru/region-moments/O_38.png)
In[2]:=
![Click for copyable input](assets.ru/region-moments/In_55.png)
RegionMoment[CapsuleShape[], {2, 0, 0}]
Out[2]=
![](assets.ru/region-moments/O_39.png)
In[3]:=
![Click for copyable input](assets.ru/region-moments/In_56.png)
RegionMoment[Cone[{{0, 0, 0}, {0, 0, 1}}, r], {2, 0, 0}]
Out[3]=
![](assets.ru/region-moments/O_40.png)
Предположим, что дана область с неизвестными параметрами, где все средневзвешенные значения нулевого порядка и первого порядка равны 1. Найдем численные значения каждого параметра.
Определим геометрическую область на основе заданных параметров.
In[4]:=
![Click for copyable input](assets.ru/region-moments/In_57.png)
$Assumptions = r > 0 && x > 0 && y > 0 && z > 0;
In[5]:=
![Click for copyable input](assets.ru/region-moments/In_58.png)
cyl = Cylinder[{{0, 0, 0}, {x, y, z}}, r];
Вычислим средневзвешенные значения нулевого порядка и первого порядка.
In[6]:=
![Click for copyable input](assets.ru/region-moments/In_59.png)
cfs = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
In[7]:=
![Click for copyable input](assets.ru/region-moments/In_60.png)
{m0, m100, m010, m001} = Table[RegionMoment[cyl, c], {c, cfs}]
Out[7]=
![](assets.ru/region-moments/O_41.png)
Определим параметры геометрической области, учитывая, что все средневзвешенные значения нулевого порядка и первого порядка равны 1.
In[8]:=
![Click for copyable input](assets.ru/region-moments/In_61.png)
sol = Solve[{m0 == 1, m100 == 1, m010 == 1, m001 == 1, $Assumptions}]
Out[8]=
![](assets.ru/region-moments/O_42.png)
Получим заданную геометрическую область.
In[9]:=
![Click for copyable input](assets.ru/region-moments/In_62.png)
cyl /. sol
Out[9]=
![](assets.ru/region-moments/O_43.png)
Определим приблизительное значение радиуса.
In[10]:=
![Click for copyable input](assets.ru/region-moments/In_63.png)
N[cyl /. sol]
Out[10]=
![](assets.ru/region-moments/O_44.png)