Wolfram Language

Visualisation de volume

Visualisez des données d'ouragans

Le modèle le plus simple pour un vortex est donnée par la combinaison de la rotation du corps dans un noyau et la diminution de la vitesse angulaire à l'extérieur.

Afficher l'entrée complète de Wolfram Language
In[1]:=
Click for copyable input
w = 6; rcore = 3; a = 1; g = 9.82; rho = 1; Subscript[rho, 0] = 1;
In[2]:=
Click for copyable input
wind[r_, z_] := If[r <= rcore, w r, (w a^2)/r];

La formule pour trouver la pression fournit la formule suivante en termes de rayon et d'élévation.

In[3]:=
Click for copyable input
pressure[r_, z_] := If[r < rcore, 1/2 rho w^2 r^2 - rho g z + Subscript[rho, 0], -((rho w^2 rcore^4)/(2 r^2)) - rho g z + rho w^2 rcore^2 + Subscript[rho, 0]];

Tracez les vitesses du vent qui se trouvent en dehors du centre le plus rapide du système.

In[4]:=
Click for copyable input
SliceContourPlot3D[ wind[Sqrt[x^2 + y^2], z], {x^2 + y^2 == 3 z, x^2 + y^2 == 6 z, x^2 + y^2 == 1 z}, {x, -5, 5}, {y, -5, 5}, {z, 1, 5}, Contours -> 20, RegionFunction -> Function[{x, y, z}, x < 0 || y > 0], PlotTheme -> "NoAxes", PlotLegends -> Automatic, PlotLabel -> "Wind Strength", ImageSize -> 400]
Out[4]=

Tracez les directions du vent en tant que champ vectoriel.

In[5]:=
Click for copyable input
SliceVectorPlot3D[{(wind[Sqrt[x^2 + y^2], z] y)/ Norm[{x, y}], (-wind[Sqrt[x^2 + y^2], z] x)/Norm[{x, y}], 0}, {x^2 + y^2 == z, x^2 + y^2 == 3 z, x^2 + y^2 == 6 z}, {x, -5, 5}, {y, -5, 5}, {z, 1, 5}, ImageSize -> 400, PlotLegends -> None, VectorStyle -> "Arrow3D", VectorScale -> {Medium, 0.5, Automatic}, VectorPoints -> 8, RegionFunction -> Function[{x, y, z}, x < 0 || y > 0], PlotTheme -> "NoAxes", PlotLabel -> "Wind Direction"]
Out[5]=

Tracez la pression en tant que densité en 3D. Remarquez la faible pression relative au centre du système.

In[6]:=
Click for copyable input
DensityPlot3D[ pressure[Sqrt[x^2 + y^2], z], {x, -5, 5}, {y, -5, 5}, {z, 1, 5}, ImageSize -> 400, PlotLegends -> Automatic, PlotTheme -> "NoAxes", RegionFunction -> Function[{x, y, z}, (x^2 + y^2 <= 6 z) && (x < 0 || y > 0)], PlotLabel -> "Air Pressure", OpacityFunction -> Function[f, f/5 + 0.1]]
Out[6]=

Exemples connexes

de en es ja ko pt-br ru zh