使用 tikz 中的结库制作双色绳

使用 tikz 中的结库制作双色绳

我正在尝试绘制单链接图(像这样:https://loopspace.mathforge.org/HowDidIDoThat/TeX/Knots/#section.5)使用 knots 库:

\begin{tikzpicture}
\begin{knot}[
  flip crossing=2
]
\strand (1,0) circle[radius=2cm];
\strand[blue] (-1,0) circle[radius=2cm];
\end{knot}
\end{tikzpicture}

不过,我希望其中一个圆圈有两种颜色。这个想法是,链接代表三股辫子的闭合,而链接中的一个圆圈来自其中两股辫子,所以我认为给它上色以显示这一点会很好。

最初,我想的是这样的:如何用 tikz 绘制双色线。但是,当我将 \strand[blue] 更改为 时\strand[draw=blue,dash pattern= on 3pt off 5pt,thick,postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick}](-1,0) circle[radius=2cm];,交叉间隙不再出现:

在此处输入图片描述

我还尝试了一种替代方法,使用来自这个问题的梯度TikZ 中的路径跟随颜色渐变但是,交叉间隙再次消失了。

我是假设knot 库不知为何没有将 gap 规则应用于后动作/装饰?有没有一种合适的方法可以使用 knots 库绘制双色线?

答案1

\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{knots}
\begin{document}
\begin{tikzpicture}
\begin{knot}[
flip crossing=2,
clip width=10,
]
\strand[red, thick] (1,0) circle[radius=1.3cm];
\strand[
blue, thick,
only when rendering/.style={dash pattern=on 3pt off 5pt},
preaction={draw, red, thick, dash pattern=on 3pt off 5pt, dash phase=4pt},
](-0.5,0) circle[radius=1.3cm];
\end{knot}
\end{tikzpicture}
\end{document}

带有红蓝虚线图案的双圆结

相关内容