绘制圆环下半部分的 3D 图

绘制圆环下半部分的 3D 图

正如标题所示,我想要一个空心圆环下半部分的 3D 图,其半径为小半径 1 和大半径 2。我在网上找到了一张与我要找的图片相似的图像。

在此处输入图片描述

有人能找到一种简单的方法来重新创建上面的图像,包括向下指向的蓝色箭头和绘制的标记轴吗?

答案1

我给出一个asymptote例子,因为这可以产生更好的输出。然而,半圆环的参数化也可以用于其他包。

 \documentclass{article}
 \usepackage[inline]{asymptote}
 \begin{document}
 \thispagestyle{empty}
 \begin{asy}
  size(200);
  import graph3;

  currentprojection=perspective(5,6,3);
  real R=4;
  real a=1;

  triple fs(pair t) {
    return ((R+a*Cos(t.y))*Cos(t.x),(R+a*Cos(t.y))*Sin(t.x),a*Sin(t.y));
  };

  surface s=surface(fs,(0,180),(360,360),8,8,Spline);
  draw(s,surfacepen=material(green+opacity(0.6), emissivepen=0.2*white),render(compression=Low,merge=true));

  xaxis3(Label("$x$",1),xmin=0,xmax=7,Arrow3);
  yaxis3(Label("$y$",1),ymin=0,ymax=7,Arrow3);
  zaxis3(Label("$z$",1),zmin=0,zmax=4,Arrow3);

  draw((4/sqrt(2),4/sqrt(2),-1)--(4/sqrt(2),4/sqrt(2),-4),blue,Arrow3);
 \end{asy}
 \end{document}

当然,需要asy在两次编译之间运行。

在此处输入图片描述

这是可能的画出类似...的图画pgfplots

\documentclass[svgnames]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        axis lines=center,
        axis equal,
        domain=0:360,
        y domain=180:360,
         ticks=none,
        view={130}{-35}
    ]

        \addplot3 [surf, color=green, opacity=0.1,faceted
        color=green!50!black,fill opacity=0.5%,faceted color=blue,z buffer=sort
        ]({(4+cos(y))*cos(x)},{(4+cos(y))*sin(x)},{sin(y)-0.01});
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

然而,结果可能不那么令人满意。当然,通过额外的努力,人们可以改善这种情况。另一方面,好消息asymptote是,这些额外的努力是不必要的。

相关内容