分支界定几何形状

分支界定几何形状

我将一个框分成两半,并在 Tikz 中绘制。示例代码如下:

\begin{figure}[!h]
\scalebox{1.5}{
\begin{tikzpicture}
\filldraw[fill=gray!40!white, draw=black] (0,0) rectangle (4,2);
\node[black](dot) at (2,1) {\textbullet};
%\node[below=0cm of dot]  {\small{$x_a$}};
\draw[dashed] (1,-1) -- (3,3) ;
\node[] at (1,1.5) {\small{$r^\top x_a \geq r^\top x$}};
\node[] at (3,0.5) {\small{$r^\top x_a \leq r^\top x$}};
\node[] at (3.2,3.3) {\small{$r^\top x_a$}};
\end{tikzpicture}
}
\end{figure} 

得出的结果为:

在此处输入图片描述

现在我将计算两半中的一些数学知识,然后再次划分每一半,依此类推。因此,我需要使用一些分支定界结构,但每个元素都应该是像上面那样的几何形状。我只需要有一棵树,其中的元素都是我将插入的几何形状(感谢@marmot)

任何模板或示例链接都将非常感谢。

答案1

这是一个建议。

\documentclass{article}
\usepackage{forest}
\usepackage{mathrsfs}
\begin{document}
\begin{forest}
for tree={s sep+=3em,l sep+=1em}
 [$\mathscr{Z}$,minimum width=3cm,minimum height=1.2cm,draw,label=right:$x_2$,
    alias=n1
  [$\mathscr{Z}_{11}$,minimum width=1.2cm,minimum height=1.2cm,draw,trapezium,
    trapezium left angle=90, trapezium right angle=60,label=right:$x_2^{(1,1)}$,
    alias=n11]
  [$\mathscr{Z}_{12}$,minimum width=1.2cm,minimum height=1.2cm,draw,,draw,trapezium,
  trapezium left angle=120, trapezium right angle=90,label=right:$x_2^{(1,1)}$,
    alias=n12]
 ]
\path (n1.south)  -- (n11.north) coordinate[midway] (aux);
\draw[dashed] (current bounding box.west|-aux)--
 (current bounding box.east|-aux);
\end{forest}
\end{document}

在此处输入图片描述

答案2

这是另一个建议。

在此处输入图片描述

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\def\initialrectangle{
\draw[fill=gray!40!white] (0,0) rectangle (4,2)
(1,1.5) node{Tom} (3,0.5) node{Jerry};
}

\initialrectangle
\draw[dashed] (1,-1)--(3,3) node[above]{separator};

\begin{scope}[shift={(-100:3.5)}]
\clip (1,-1)--(3,3)-|(0,0);
\initialrectangle
\end{scope}

\begin{scope}[shift={(-80:3.5)}]
\clip (3,3)--(1,-1)-|(4,2);
\initialrectangle
\end{scope}

\end{tikzpicture}
\end{document}

相关内容