拉丝纤维束

拉丝纤维束

我正在尝试用 tikz 绘制圆柱形的纤维束,目前我只能做这样的事情:

 \begin{tikzpicture}[>=stealth]
\draw(2,0)--(4,0)node[midway,below]{fibre bundle}arc(0:70:4)--(90:2)arc(90:0:2)--cycle;

\draw[->] (20:1.3)node[below,xshift=-2mm]{base manifold}--(30:2);

\begin{scope}[bend right]
\foreach \i[count=\x] in {10,30,50,70}
{\node(a\x)[circle,fill,inner sep=1pt]at (\i:2.4){};
\draw(a\x)to(a\x|-0,4);}

\foreach \i[count=\x] in {7,26,46,66}
{\node(b\x)[circle,fill,inner sep=1pt]at (\i:3){};
\draw(b\x)to(b\x|-0,4);}

\foreach \i[count=\x] in {6,26,46,66}
{\node(c\x)[circle,fill,inner sep=1pt]at (\i:3.6){};
\draw(c\x)to(c\x|-0,4);}

\path(c1)to coordinate[near start](d)(c1|-0,4);
\end{scope}
\draw[<-](d)--+(0.8,-0.5)node[right]{fibre};

\end{tikzpicture}

我希望底部有一个圆形(透视图),然后纤维向上形成一个圆柱体(透视图为三维)。类似这样: 在此处输入图片描述

或这个:https://mathworld.wolfram.com/Trivialization.html

答案1

不确定纤维如何形成圆柱体,但也许可以这样?

第二张图没有考虑三维性,尺寸相同。

代码

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[y=.5cm]
\draw circle[radius=3];
\foreach[count=\i from 0] \angle in {0, 30, ..., 359}
  \foreach[count=\j from 0] \radius in {1, 1.5, 2, 2.5}
    \node[circle, fill, inner sep=1pt, outer sep=0pt] (n-\i-\j) at (\angle:\radius) {}[
      draw,
      x=(\angle+90:1cm+\j*.2cm),
      y=(90:1cm)
    ] (n-\i-\j) arc[start angle=-45, end angle=45, radius=1];
\end{tikzpicture}
\begin{tikzpicture}[y=.5cm]
\foreach \dot in {1, ..., 13}
  \draw coordinate (n-\dot) at ([xslant=.3333] xyz cs: x={mod(\dot,5)}, y={int(\dot/5)})
    (n-\dot) -- (n-\dot|-0,-4);
\draw[fill=white] (n-7) circle[radius=2.4];
\foreach \dot in {1, ..., 13}
  \draw node[circle, fill, inner sep=1pt, outer sep=0pt] (n-\dot) at (n-\dot) {}
  (n-\dot) -- (n-\dot|-0,5);
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

在此处输入图片描述

相关内容