3dplot 支持哪些函数用于参数填充输入

3dplot 支持哪些函数用于参数填充输入

我使用 tikz-pgf 的 3dplot 绘制了一个椭圆体。现在我想根据它的平均曲率给表面着色(我已经计算了这个函数。)但 3dplot 似乎不支持 sin 和 cos 参数作为参数填充选项的参数。对吗?我将在这里提供一个测试用例:

\documentclass{minimal}

\usepackage{verbatim}

\usepackage{tikz}
\usepackage{3dplot}

\usepackage[active,tightpage]{preview}      %generates a tightly fitting border around the work
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{2mm}

\begin{document}
        \tdplotsetmaincoords{70}{135}
        \begin{tikzpicture}[line join=bevel,tdplot_main_coords, fill opacity=.7]
                \tdplotsphericalsurfaceplot[parametricfill]{40}{20}%
                {1/sqrt(%
                        sin(\tdplottheta)^2*( (cos(\tdplotphi)/2)^2 + (sin(\tdplotphi)/1)^2 )%
                        + (cos(\tdplottheta)/1)^2
                )}{black}%
                {%
                                sin(\tdplotphi)
                        % 2*(5-3*sin(\tdplottheta)^2*cos(\tdplotphi)^2)/%
                                % sqrt((4-3*sin(\tdplottheta)^2*cos(\tdplotphi)^2)^3)
                }%
                {}%{\draw[color=black,thick,->] (0,0,0) -- (2,0,0) node[anchor=north east]{$x$};}%
                {}%{\draw[color=black,thick,->] (0,0,0) -- (0,2,0) node[anchor=north west]{$y$};}%
                {}%{\draw[color=black,thick,->] (0,0,0) -- (0,0,2) node[anchor=south]{$z$};}%
        \end{tikzpicture}
\end{document}

想知道我是否做错了什么,或者该功能是否不受支持。在这种情况下:你知道我可以使用什么工具来实现我的目标吗?

亲切问候 Konstantin

答案1

我认为现在你需要使用\usepackage{tikz-3dplot}而不是3dplot。你的例子对我来说很有效。有时观众不太高兴...

 \tdplotsetmaincoords{40}{0}
  \begin{tikzpicture}[line join=bevel,tdplot_main_coords, fill opacity=1]
      \tdplotsphericalsurfaceplot[parametricfill]{72}{36}%
         {1/sqrt(%
        sin(\tdplottheta)^2*( (cos(\tdplotphi)/2)^2 + (sin(\tdplotphi)/1)^2 )%
                + (cos(\tdplottheta)/1)^2)}{black}%
                 {100*abs(2*(5-3*sin(\tdplottheta)^2*cos(\tdplotphi)^2)/%
        sqrt((4-3*sin(\tdplottheta)^2*cos(\tdplotphi)^2)^3))}% 
        {}{}{}    

在此处输入图片描述

相关内容