답변1
시작점으로 원하는 부분을 제공하는 다음 코드를 제공할 수 있습니다.
\documentclass[tikz, border=3mm]{standalone}
\usetikzlibrary{arrows.meta,chains,matrix,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}[
node distance=0pt,
start chain = A going right,
arrow/.style = {draw=#1,-{Stealth[]},
shorten >=1mm, shorten <=1mm}, % styles of arrows
arrow/.default = black,
X/.style = {rectangle, draw,% styles of nodes in string (chain)
minimum width=2ex, minimum height=3ex,
outer sep=0pt, on chain},
B/.style = {decorate,
decoration={brace, amplitude=5pt,
pre=moveto,pre length=1pt,post=moveto,post length=1pt,
raise=1mm,
#1}, % for mirroring of brace, if necessary
thick},
B/.default = mirror, % by default braces are mirrored
]
\foreach \i in {1,0,0,0,1,1,
2,0,3,4,1,2}% <-- content of nodes
\node[X] {\i};
\matrix (ML) [matrix of nodes,
nodes=draw, dashed, row sep=1mm,
row 1 column 1/.style={draw=red},
left=11mm of A-1]
{
1\ 0\\
0\ 0\\
1\ 1\\
};
\draw (ML.north -| ML-1-1.north west) -|
(ML.south west) --
(ML.south -| ML-3-1.south west)
%
(ML.north -| ML-1-1.north east) -|
(ML.south east) --
(ML.south -| ML-3-1.south east)
;
\matrix (MR) [matrix of nodes,
nodes=draw, dashed, row sep=1mm,
row 1 column 1/.style={draw=red},
right=11mm of A-12]
{ 1\ 0\\
0\ 0\\
1\ 1\\
};
\draw (MR.north -| MR-1-1.north west) -|
(MR.south west) --
(MR.south -| MR-3-1.south west)
%
(MR.north -| MR-1-1.north east) -|
(MR.south east) --
(MR.south -| MR-3-1.south east)
;
\draw[B=,red] (A-1.north west) -- coordinate[above=3mm] (a) (A-2.north east);
\draw[arrow] (ML-1-1.north) to [out=60, in=120] (a);
\draw[B] (A-3.south west) -- coordinate[below=3mm] (b) (A-4.south east);
\draw[arrow] (ML-2-1.south) to [out=315, in=210] (b);
\draw[B] (A-5.south west) -- coordinate[below=3mm] (c) (A-6.south east);
\draw[arrow] (ML-3-1.south) to [out=315, in=240] (c);
\end{tikzpicture}
\end{document}
무승부:
원하는 이미지의 누락된 부분(주요 부분은 위의 코드에 의해 결정됨)은 비교적 간단하게 추가할 수 있습니다. 여기서 문제가 발생하면 어디에서 막혔는지 물어보세요.