用虚轴绘制函数

用虚轴绘制函数

我想绘制一个f(x)=x^8-5x^7+8x^6+13x^5+24x^4+8x^3+32x^2-12=0带有虚轴的函数。我不知道该怎么做。这是一个例子。 在此处输入图片描述

照片来自youtube频道沃尔奇实验室。这里绘制的函数是f(x)=x^2+1z轴是虚数。

答案1

表面与 xz 平面的交点可以用双曲函数进行参数化。为什么?实坐标中的表面可以用 进行参数化(x,1+x*x-z*z,z)。现在我们需要求解z*z-x*x=1以使第二个分量为 0,因此一个明显的选择是z=cosh(t)x=sinh(t)。原则上,您可以使用 来参数化整个事物coshsinh但这里有一个例子,其中交点被裁剪并用网格填充(当然是 3d 的)。

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\usetikzlibrary{3d}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
 \path[overlay] (-5,10) coordinate (TL) (5,10) coordinate (TR); 
 \begin{axis}[view={210}{30},hide axis,
    axis equal image,
    width=15cm]
  \addplot3[surf,shader=interp,
    domain=-2:2,domain y=0:2,z buffer=sort,
   point meta=-z,clip=false]
   (x,1+x*x-y*y,y);
  \path (2,5,0) coordinate (L)  (-2,5,0) coordinate (R);
  \clip plot[domain=-1.317:1.317]   ({sinh(\x)},{0},{cosh(\x)})
  -- plot[domain={sqrt(3)}:2] (\x,\x*\x-3,2) 
  -- plot[domain=2:0] (2,5-\x*\x,\x) 
  -- (3,5,0) -- (TL) -- (TR) -- (-3,5,0) 
  -- plot[domain=0:2] (-2,5-\x*\x,\x) -- cycle;
  \begin{scope}[canvas is xz plane at y=0]
   \draw (-8,0) grid[step=5mm] (8,10);
  \end{scope}
 \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容