如何用 LaTeX 绘制参数曲面(螺旋面)?

如何用 LaTeX 绘制参数曲面(螺旋面)?

我需要在我的文档中绘制一个螺旋面。我在互联网上找不到任何可以回答我的问题的东西。基本上,我需要绘制由方程指定的表面

x = u * cos (v); 
y = u * sin (v);  
z = v.

由于这些方程取决于 u 和 v,我无法绘制表面。绘制螺旋线要简单得多,因为它只取决于一个坐标:x。例如(Overleaf 示例):

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{comment}

\usepackage{pgfplots}
\pgfplotsset{width=10cm, compat=1.9}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    [
    view={60}{30},
    ]
\addplot3[
    domain=0:5*pi,
    samples = 60,
    samples y=0,
]
({sin(deg(x))},
{cos(deg(x))},
{x});
\end{axis}
\end{tikzpicture}

\end{document}

对于螺旋面,该如何做?

答案1

欢迎!您只需为您的图添加一个维度即可。

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{comment}

\usepackage{pgfplots}
\pgfplotsset{width=10cm, compat=1.16}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    [
    view={60}{30},
    ]
\addplot3[surf,shader=interp,
    domain=0:5*pi,
    samples=101,
    samples y=2,
]
({y*sin(deg(x))},
{y*cos(deg(x))},
{x});
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

或者使用网格。(的增加samples y使得网格更加网格化,但也增加了编译时间,因为我们需要添加z buffer=sort或类似的东西。)

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{comment}

\usepackage{pgfplots}
\pgfplotsset{width=10cm, compat=1.16}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    [
    view={60}{30},
    ]
\addplot3[surf,
    domain=0:5*pi,
    samples=101,
    samples y=11,z buffer=sort
]
({y*sin(deg(x))},
{y*cos(deg(x))},
{x});
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容