复杂曲线交织的链接图形(II)

复杂曲线交织的链接图形(II)

这是一个更高级的问题一个较早的

我很难画出这些类型的图形: 在此处输入图片描述

有一个包叫做结库 (knot library)。

所以我要试试这个结点库。但如果有一些有用的建议,我愿意听取你的意见!!!谢谢!

所以我给你提出的挑战是:如何在 tikz 中绘制上图?

答案1

这并不是试图精确地复制您的图片,而只是 的一种替代方法knots。这种方法可以使椭圆的左半部分与虚线相交时有间隙,而右半部分没有间隙。手册中knots在一定程度上描述了这种方法。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\tikzset{->-/.style={decoration={
  markings,
  mark=at position #1 with {\arrow[arsty]{>}}},postaction={decorate}}}
\tikzset{arsty/.style={}}
\begin{tikzpicture}[>=latex]
\draw[red,very thick,dash pattern=on 1pt off 1pt,
->-/.list={0.0,0.2,0.4}] plot[smooth cycle,tension=2]
coordinates {(0,-0.2) (-1.7,-0.5) (0,-0.5) (1.7,-0.5) };
\draw[blue,very thick,dash pattern=on 1pt off 1pt,
->-/.list={0.42,0.75}] plot[smooth cycle,tension=1.8]
coordinates {(0,0) (2,-0.5) (0,-0.7) (-2,-0.5) };
\foreach \X in {-1.5,0,1.5}
{\draw[line width=1.6pt] (\X,-3.5) arc(-90:90:0.5 and 1.5);}
\draw[rounded corners=1.75cm,double=black,white,double distance=1.6pt,
line width=2.4pt] (-4,-2) rectangle (4,2);
\tikzset{arsty/.style={black,line width=1.6pt}}
\foreach \X in {-1.5,0,1.5}
{\draw[double=black,white,double distance=1.6pt,line width=2.4pt,->-=0.5]
(\X,-0.5) arc(90:270:0.5 and 1.5);}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容