tikz のノット ライブラリを使用した 2 色のストランド

tikz のノット ライブラリを使用した 2 色のストランド

私は単一リンク図を描こうとしています(次のようなもの)。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}

ただし、円の 1 つに 2 色を付けたいと思います。リンクは 3 本のストランドの編み込みの閉じ方を表し、リンク内の円の 1 つは 2 本のストランドから来ているので、それを示すために色を付けるのが良いと思いました。

当初、私は次のようなことを考えていました。tikzで2色の線を描く方法しかし、\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 のパス追跡カラーグラデーションしかし、再び、交差する隙間は消えてしまいました。

私は仮定ノット ライブラリは、どういうわけか、ポストアクション / デコレーションにギャップ ルールを適用していません。ノット ライブラリを使用して 2 色のストランドを描画する適切な方法はありますか?

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

赤と青のダッシュパターンの2つの円結び目

関連情報