这个辫子图形该怎么画?

这个辫子图形该怎么画?

我想要绘制附件中下面的图。

在此处输入图片描述

我已经有了图中两条线的代码:

\documentclass[a4paper,12pt,reqno,english]{article}
            \usepackage{tikz}
            \usetikzlibrary{braids} 
        \begin{document}
            
    \begin{tikzpicture}[scale=4, every node/.style={scale=4}]
            \pic[
              rotate=0,
              braid/.cd,
              every strand/.style={ultra thick},
              strand 1/.style={red},
              strand 2/.style={blue},
            ] {braid={s_1}};
            \end{tikzpicture}
        \end{document}

但我不知道如何将这些线与平面组合起来。图像文件中的符号 C 表示复数集。你能帮我吗?

答案1

对于辫子b您可以访问 strand 的开始和结束通过坐标和。此坐标和 pic 定义的其他坐标在第 2.2 节中介绍(b-i-s)(b-i-e)图书馆手册

对于起点和终点处的平面,我们可以使用这些坐标并在其周围绘制一个(倾斜的)矩形。对于底部的那个,我使用库backgrounds及其on background layer钥匙它提供了可以轻松绘制股线后面的矩形的功能。

在其他点添加平面将是一个有趣的后续问题。我的后续问题是:这些平面是必要的吗?看看手册中的一些示例。也许一行就够了。

该图片还提供了经过一些调整后可能可以使用的楼层……

代码

\documentclass[a4paper, 12pt]{article}
\usepackage{tikz, amssymb} % amssymb for \mathbb
\usetikzlibrary{braids, backgrounds}
\tikzset{
  rectangle around/.style={
    thick, draw, fill=lightgray, xslant=1, fill opacity=.75, rounded corners=+5pt,
    to path={
      ([shift={(-.3,-.2)}]\tikztostart) rectangle node[at end, right]{$#1$}
      ([shift={( .3, .2)}]\tikztotarget) \tikztonodes}}}
\begin{document}
\begin{tikzpicture}[pics/braid/.append style={/tikz/scale=3}, scale=3]
\pic[
  rotate=0,
  braid/.cd,
  every strand/.style={ultra thick},
  strand 1/.style={red},
  strand 2/.style={blue},
] (b) {braid = s_1};
\path[rectangle around=\mathbb C] (b-1-s) to (b-2-s);
\scoped[on background layer]
  \path[rectangle around=\mathbb C] (b-2-e) to (b-1-e);
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

答案2

像这样:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw[blue] (4,1)--(2,-5) node[midway,fill=white] () {\;};
        \draw[red] (2,1)--(4,-5);
        
        \filldraw[gray!30,draw,opacity=.7] (0,0)--(5,0)--(6,2)--(1,2)
        --cycle;
        \filldraw[gray!30,draw,opacity=.7] (0,-6)--(5,-6)--(6,-4)--(1,-4)
        --cycle;
        \node at (6.3,2) () {$\pi_1$};
        \node at (6.3,-4) () {$\pi_2$};
    \end{tikzpicture}
\end{document}

EDIT:我稍微改变了一下前面代码的顺序

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \filldraw[gray!30,draw,opacity=.7] (0,-6)--(5,-6)--(6,-4)--(1,-4)
        --cycle;
        \draw[blue] (4,1)--(2,-5) node[midway,fill=white] () {\;};
        \draw[red] (2,1)--(4,-5);
        
        \filldraw[gray!30,draw,opacity=.8] (0,0)--(5,0)--(6,2)--(1,2)
        --cycle;
        
        \node at (6.3,2) () {$\pi_1$};
        \node at (6.3,-4) () {$\pi_2$};
    \end{tikzpicture}
\end{document}

为了获得更好的结果:

在此处输入图片描述

相关内容