模拟表面图

模拟表面图

我正在尝试向我的学生说明 R^2 中的极限。为此,我在 Geogebra 中创建了下图

在此处输入图片描述

其理念是,当你沿着黑线和紫线接近原点时,你会到达 0。然而沿着山脊行驶,我们反而会到达高于 0 的某个高度。因此,红色区域不是连续的。

我尝试使用 pgfplots 重新创建上面的图形,但结果却有些令人震惊。

在此处输入图片描述

我认为这无关紧要,但红色图是函数

f(x,y) = x y^3 /( 3y^2 + x^6)

限制在单位圆内。一些问题是,pgfplots 图像中的白线看起来好像超出了山脊,破坏了幻觉。有没有比我的尝试更好的方法来说明上述函数?

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[view = {-35}{35}]
     \addplot3[
         surf,
         colormap/cool,
         samples=50,
         domain=0:1,
         y domain=0:2*pi,
         z buffer=sort
       ]
       ( {x*cos(deg(y))}, 
         {x*sin(deg(y))}, 
         {x*sin(deg(y))*(x*cos(deg(y)))^3/(3*(x*sin(deg(y)))^2 + (x*cos(deg(y)))^6}
         );
         \addplot3[variable=u,color=green,mesh,domain=-1:1] (u,u^3, 1/4);
         \addplot3[variable=u,color=black,domain=-1:1] (u,0, 0);
         \addplot3[variable=u,color=pink,domain=-1:1] (0,u, 0);
  \end{axis}
\end{tikzpicture}
\end{document}

答案1

当然不是一个完整的答案,而只是稍微阐明了我的评论。

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.15}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[view = {-35}{35},axis on top,ticks=none,axis lines=center, 
  set layers=default,xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
    xlabel style={anchor=south east},
    ylabel style={anchor=south west},
    zlabel style={anchor=south west},
    xmin=-1.25,xmax=1.25,ymin=-1.25,ymax=1.25] %<-added, this also sets layers
    \addplot3[variable=u,black,domain=-1.25:1.25] (0,u, 0);
     \addplot3[
         surf,
         colormap/cool,
         samples=50,
         domain=0:1,
         y domain=0:2*pi,
         on layer=axis foreground, %<-added
         opacity=0.6, %<-added
         z buffer=sort,
       ]
       ( {x*cos(deg(y))}, 
         {x*sin(deg(y))}, 
         {x*sin(deg(y))*(x*cos(deg(y)))^3/(3*(x*sin(deg(y)))^2 + (x*cos(deg(y)))^6}
         );
         \addplot3[variable=u,color=black,domain=-1.25:-0.195,on layer=axis foreground] (u,0, 0);
         \addplot3[variable=u,color=green,mesh,domain=-1:1,
         on layer=axis foreground] (u,u^3, 1/4);
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

我做的唯一一件事就是让 x 轴更像 3D。

相关内容