PGFplots - 围绕 z 轴旋转笛卡尔方程

PGFplots - 围绕 z 轴旋转笛卡尔方程

我的问题是我想通过旋转函数来创建一个表面 ![在此处输入图片描述围绕 z 轴在 -10 < z < 0 范围内创建一种袋状表面。

在此处输入图片描述

我一直在做研究除了我的函数是笛卡尔函数而非参数函数外,解决方案是理想的。pgfplots在这方面,手册的搜索没有找到任何有用的信息。

我的问题是,有没有办法绕轴旋转笛卡尔方程而不是极坐标或参数方程,因为我的函数很难转换成参数函数。如果有人能推荐一个看起来差不多的参数函数,那也太好了!

任何帮助都将不胜感激

答案1

据我了解,我们有一个函数

f(\z) = \z-pow(\z,3)-2

和两个参数,一个表示旋转角度,范围为 [0,360](用术语x来称呼pgfplots),另一个表示值,范围为 [-10,0](用术语来\z称呼)。图的三个坐标是 xy 平面中以z 轴为中心,半径为 z 分量的圆的坐标,即ypgfplotsf(y)y

( {f(y)*sin(x)}, {f(y)*cos(x)}, y )

在此处输入图片描述

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}%
  [declare function={ f(\z) = \z-pow(\z,3)-2; }
  ]
  \begin{axis}
    \addplot3 [
        surf,
        domain    = 0:360,
        y domain  = -10:0,
        samples   = 50,
        samples y = 20,
      ]
      ( {f(y)*sin(x)}, {f(y)*cos(x)}, y );
  \end{axis}
\end{tikzpicture}  
\end{document}

相关内容