Reidemeister 动作 I II 和 III

Reidemeister 动作 I II 和 III

我正在寻找一种绘制 Reidemeister-Moves 的简单解决方案。
我很难显示交叉点。
有没有一种简单的方法来显示交叉点?

\documentclass{article}
\usepackage{tikz} 
\begin{document}
\begin{center} %1
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw (0,0) to [out = -10, in = -90](2,.5) to [out=90, in = 90, looseness = 1.5] (1,.5) [out=-90, in = -170]to (3,0);
\end{tikzpicture}
\hspace*{.1in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw (0,0) to [out = -10, in = -170] (3,0);
\end{tikzpicture}
\hspace*{.1in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw (0,0) to [out = -10, in = -90](2,.5) to [out=90, in = 90, looseness = 1.5] (1,.5) [out=-90, in = -170]to (3,0);
\end{tikzpicture}
\end{center}
\begin{center} %2
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[red] (0,0) to [out =10 , in = 110] (2,-0.5) to [out =-70, in = 70, looseness=1] (2,-1.5) to [out =-110, in = -10] (0,-2);
\draw[blue] (4,-.25) to [out = 170, in = 70] (2,-.5) to  [out =-110, in= 110] (2,-1.5) to   [out =-70, in = 190]  (4,-1.75);
\end{tikzpicture}
\hspace*{.2in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[red] (0,0) to [out =10 , in = 110] (2,-0.5) to [out =-70, in = 70, looseness=1] (2,-1.5) to [out =-110, in = -10] (0,-2);
\draw[blue] (4,-.25) to [out = 170, in = 70] (2.5,-.5) to  [out =-110, in= 110] (2.5,-1.5) to   [out =-70, in = 190]  (4,-1.75);
\end{tikzpicture}
\end{center}
\begin{center} %3
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[red] (0,0) to (2,-2);
\draw[blue] (2,0) to (0,-2);
\draw[green] (0,-.5) to (2,-.5);
\end{tikzpicture}
\hspace*{.1in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[red] (0,0) to (2,-2);
\draw[blue] (2,0) to (0,-2);
\draw[green] (0,-1.5) to (2,-1.5);
\end{tikzpicture}
\hspace*{.3in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[blue] (0,0) to (2,-2);
\draw[red] (2,0) to (0,-2);
\draw[green] (0,-.5) to (2,-.5);
\end{tikzpicture}
\hspace*{.1in}
\begin{tikzpicture}[node distance={15mm}, thick, main/.style = {draw, circle,scale=0.8}] 
\draw[blue] (0,0) to (2,-2);
\draw[red] (2,0) to (0,-2);
\draw[green] (0,-1.5) to (2,-1.5);
\end{tikzpicture}
\end{center}
\end{document}

这可能是我的目标或者类似的东西:

这是我的当前状态: 谢谢!

答案1

knots软件包可以自动完成大部分工作,但这里有一个使用相同基本技术的手动解决方案。

要进行交叉,请先绘制底部线束,然后绘制顶部线束,并将选项double设置double distance为与线宽相同的粗细。withinline width绘制一条粗白线,顶部有一条细黑线(或您选择的颜色),模拟交叉。这内置于以下代码中double调用的样式中。要更改顶部线束周围的间距,请更改。overcrossline width=1.5

我使用可选参数将每个部分都变成了自己的,tikzpicture以便可以重复使用。例如,最左边的 I 型图形与最右边的图形相同,但沿 x 轴镜像。因此使用yscale=-1会产生所需的效果。类似地,III 型移动只是最左边图像的旋转和镜像版本。

图中线宽用 全局设置\knotlinewidth。当然,您可以随意更改粗细。

最后,我添加了enumitem包以使罗马数字变得简单。

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}
\usepackage{enumitem}

\tikzset{overcross/.style={double, line width=1.5, white, double=#1, double distance=\knotlinewidth},
    overcross/.default={black},
    knot/.style={line width=\knotlinewidth, baseline=-.5ex}}

\newcommand{\knotlinewidth}{.7pt}
\newcommand{\myarrow}{$\quad\longleftrightarrow\quad$}
\newcommand{\RIa}[1][]{\tikz[knot, #1]{\draw(-.5,.5) to[out=-90,in=-90] (.5,0); \draw[overcross] (.5,0) to[out=90,in=90] (-.5,-.5);}}
\newcommand{\RIb}[1][]{\tikz[knot, #1]{\draw[looseness=.8] (-.5,-.5) to[out=90, in=-90] (.5,0) to[out=90, in=-90] (-.5,.5);}}
\newcommand{\RIIa}[1][]{\tikz[knot, #1]{\draw[red, looseness=2.3] (-.5,-.5) to[out=0, in=0] (-.5,.5); \draw[looseness=2.3, overcross=blue] (.5,-.5) to[out=180, in=180] (.5,.5);}}
\newcommand{\RIIb}[1][]{\tikz[knot, #1]{\draw[red, looseness=1.4] (-.5,-.5) to[out=0, in=0] (-.5,.5);\draw[blue, looseness=1.4] (.5,.5) to[out=180,in=180] (.5,-.5);}}
\newcommand{\RIIc}[1][]{\tikz[knot, #1]{\draw[blue, looseness=2.3] (.5,-.5) to[out=180, in=180] (.5,.5); \draw[looseness=2.3, overcross=red] (-.5,-.5) to[out=0,in=0] (-.5,.5);}}
\newcommand{\RIIIa}[1][]{\tikz[knot, #1]{\draw[red] (-120:.58) to[out=60,in=-120] (150:.2) to[out=60, in=-120] (60:.58); \draw[rotate=-120, overcross=blue] (-120:.58) to[out=60, in=-120] (150:.2) to[out=60, in=-120] (60:.58); \draw[rotate=120, overcross=green!80!black] (-120:.58) to[out=60, in=-120] (150:.2) to[out=60, in=-120] (60:.58);}}

\begin{document}

\begin{enumerate}[label=(\Roman*)]
\item \RIa\myarrow\RIb\myarrow\RIa[yscale=-1]
\item \RIIa\myarrow\RIIb\myarrow\RIIc
\item \RIIIa\myarrow\RIIIa[rotate=180]\qquad\RIIIa[xscale=-1]\myarrow\RIIIa[xscale=-1, rotate=180]
\end{enumerate}

\end{document}

相关内容