绘制具有变形的 3D 网格体

绘制具有变形的 3D 网格体

我目前正在写一篇关于 FEM 方法的论文,目的是模拟柔性多体系统。我想在 Latex 中可视化一块板的样本变形。我试图输入一个向量 r = [rx, ry, rz],它包含描述身体状态的所有 3 个方向的多项式。我试图让它看起来像一个 3D 网格。我尝试使用 Matlab 在 x/y 平面上的网格上评估 rx、ry、rz,但我不知道如何在 latex 中使用它。我试图存档如附图中所示的内容。有什么想法吗?,,

任何帮助都将不胜感激!

答案1

像这样吗?

\documentclass[border=15pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[hide axis,
      colormap/hot,
      view={25}{20},
      declare function={gauss(\x,\y)=exp(-\x*\x-\y*\y);}] 
  \addplot3[surf,domain=-2:3,domain y=0:3,point meta={-sqrt(z*z+x*x+y*y)},
  samples=26,samples y=16,point meta min=-1.5] {-gauss(x,y)};
  \addplot3[surf,domain=-2:3,domain y=0:2,samples y=11,
  point meta={-sqrt(z*z+x*x)},point meta min=-1.5
  ] 
  (x,0,{-y-gauss(x,y)});
  \addplot3[surf,domain=0:3,domain y=0:2,samples=16,samples y=11,
  point meta={-sqrt(z*z+x*x)},point meta min=-1.5
  ]   (3,x,-y);
  \addplot3[samples=6,samples y=18,domain=0:0.8,domain
  y=0:360,surf,shader=flat,point meta=-1,colormap/blackwhite,fill=white] 
  ({x*cos(y)},{x*sin(y)},{x*x-0.64});     

\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容