tikz 中帶有結庫的雙色線

tikz 中帶有結庫的雙色線

我正在嘗試繪製一個連結圖(如下所示:https://loopspace.mathforge.org/HowDidIDoThat/TeX/Knots/#section.5)使用結庫:

\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 中的路徑跟隨色彩漸變,但是,交叉間隙又消失了。

我是假設結庫不知何故沒有將間隙規則應用於後動作/裝飾?是否有合適的方法使用結庫繪製雙色線?

答案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}

紅藍破折號圖案的兩個圓結

相關內容