Язык Wolfram Language

Визуализация объёма

Визуализация секций

Используйте множественные пересекающиеся плоскости в качестве поверхностей, на которых следует отобразить контуры функции.

код на языке Wolfram Language целиком
In[1]:=
Click for copyable input
opts = {ColorFunction -> ColorData[{"Rainbow", {-2.5, 2.5}}], ColorFunctionScaling -> False, ClippingStyle -> Automatic, PlotTheme -> "Bare", SphericalRegion -> True, ImageSize -> 250, Contours -> Subdivide[-2.5, 2.5, 10]};
In[2]:=
Click for copyable input
func = Simplify[ Sum[Cos[5 Norm[{x, y, z} - {Sin[\[Theta]], Cos[\[Theta]], 0}]], {\[Theta], 0, 2 \[Pi] - (2 \[Pi])/3, (2 \[Pi])/ 3}], (x | y | z) \[Element] Reals];
In[3]:=
Click for copyable input
With[{k = 1}, SliceContourPlot3D[ func, {x == -k, x == k, y == -k, y == k, z == -k, z == k}, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, Evaluate@opts] ]
Out[3]=

Используйте равносторонний мяч в качестве поверхности.

In[4]:=
Click for copyable input
With[{p = 5}, SliceContourPlot3D[func, BoundaryDiscretizeRegion[ ImplicitRegion[ Norm[{x, y, z}, p] <= 2, {{x, -2, 2}, {y, -2, 2}, {z, -2, 2}}], {{-2, 2}, {-2, 2}, {-2, 2}}, MaxCellMeasure -> {"Length" -> 0.05}], {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, Evaluate@opts] ]
Out[4]=

Используйте сферу и пересекающиеся диски в качестве поверхностей.

код на языке Wolfram Language целиком
In[5]:=
Click for copyable input
sphere = BoundaryDiscretizeRegion[ ImplicitRegion[Norm[{x, y, z}, 2] <= 1, {{x, -2, 2}, {y, -2, 2}, {z, -2, 2}}], {{-2, 2}, {-2, 2}, {-2, 2}}, MaxCellMeasure -> {"Length" -> 0.05}];
In[6]:=
Click for copyable input
planes = With[{r = 2}, DiscretizeRegion[ImplicitRegion[ (x^2 + y^2 <= r^2 && z == 0) || (x^2 + z^2 <= r^2 && y == 0) || (z^2 + y^2 <= r^2 && x == 0), {{x, -2, 2}, {y, -2, 2}, {z, -2, 2}}], {{-2, 2}, {-2, 2}, {-2, 2}}, MaxCellMeasure -> {"Length" -> 0.05}] ];
In[7]:=
Click for copyable input
SliceContourPlot3D[func, {sphere, planes}, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, Evaluate@opts]
Out[7]=

Плавно измените настройки параметров для получения интересной анимации.

Запустить анимацию
Остановить анимацию

Родственные примеры

de en es fr ja ko pt-br zh