绘制某个图形

绘制某个图形

我知道要求太多了,但有人能帮忙画一下这个图吗?如果能上色就太棒了!提前谢谢了。图片

答案1

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,bending,backgrounds,calc}
\begin{document}
\begin{tikzpicture}
 \draw (-3,2) to[out=-20,in=180] coordinate[pos=0.4] (t1) 
    coordinate[pos=0.5] (t1') (0,1.5)
    to[out=0,in=-160] coordinate[pos=0.5] (t2') coordinate[pos=0.6] (t2)   
    (3,2)
  (-3,-2) to[out=20,in=180] coordinate[pos=0.4] (b1) node[pos=0.45,below]{0} 
    coordinate[pos=0.5] (b1') (0,-1.5) to[out=0,in=-200] 
    coordinate[pos=0.5] (b2')  node[pos=0.55,below]{1}
    coordinate[pos=0.6] (b2) (3,-2);
 \draw[dashed] (0,1.5) arc(90:270:0.5 and 1.5);
 \draw (0,-1.5) node[below]{$A$} arc(-90:90:0.5 and 1.5) node[above right]{$\gamma$};
 \draw[-{Stealth[bend]}] (0,-1.5) arc(-90:3:0.5 and 1.5);
 \begin{scope}[on background layer]
  \clip (-3,2) to[out=-20,in=180] (0,1.5)
      to[out=0,in=-160]  (3,2) -- 
   (3,-2) to[out=160,in=0] (0,-1.5) to[out=0,in=20]  (-3,-2) -- cycle;
  \draw[thick] (-2.8,0) to[out=10,in=175] (1,0.2) to[out=-5,in=170] (2.8,0);
  \draw[thick,-{Stealth[bend]}] (-2.8,0) to[out=10,in=175] (1,0.2)
   node[below right]{$\alpha$};
  \path[left color=blue,right color=blue!60,middle color=blue!20,shading
  angle=180,opacity=0.8] let \p1=($(t1)-(b1)$),\p2=($(t1')-(b1')$) 
  in (b1) arc(-90:90:\y1/6 and \y1/2) -- (t1') arc(90:-90:\y2/6 and \y2/2)
  --cycle;
  \path[left color=blue,right color=blue!60,middle color=blue!20,shading
  angle=180,opacity=0.8] let \p1=($(t2)-(b2)$),\p2=($(t2')-(b2')$) 
  in (b2) arc(-90:90:\y1/6 and \y1/2) -- (t2') arc(90:-90:\y2/6 and \y2/2)
  --cycle;
 \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容