Files

144 lines
4.6 KiB
Plaintext

\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
decorations.pathreplacing,decorations.pathmorphing,shapes,%
matrix,shapes.symbols,plotmarks,decorations.markings,shadows,backgrounds}
\begin{tikzpicture}
% \draw[draw=black] (0,0) rectangle ++(21.58cm,27.94cm);
\newcommand{\scale}{0.68}
% \newcommand{\TikZyslant}{-0.2}
\newcommand{\xslant}{0}
\newcommand{\xframeshift}{6.5cm}
\newcommand{\yframeshift}{0.05cm}
\begin{scope}[scale=\scale]
\tikzstyle{frame_label}=[fill=white, inner sep=0, anchor=center,scale=0.9/\scale,font=\small]
\tikzstyle{pel}=[rectangle,draw=black, thick]
\tikzstyle{refblock}=[rectangle,draw=black!65, thick]
\tikzstyle{projectedblock}=[rectangle,draw=black, thick,dashed]
\tikzstyle{refmv}=[draw,-latex,very thick,scale=1]
\newcommand{\DrawFrame}{
%outside line
\fill[white,fill opacity=.2] (0,0) rectangle (5,5); % Opacity
\draw[black, very thick] (0,0) rectangle (5,5);
\foreach \x in {0,...,4}
\foreach \y in {0,...,4}
{
\draw[black,loosely dashed] (\x,\y) +(0,0) rectangle ++(1,1);
}
}
% Frame t
\begin{scope}[ yshift=3*\TikZyfshift, xshift=2*\xframeshift,
style={yslant=\TikZyslant,xscale=\TikZxscale}]
\DrawFrame
\coordinate (TB1) at (1,4);
\draw[black,very thick] (TB1) +(0,0) rectangle ++(1,-1);
\coordinate (TB2) at (1,2);
\draw[black,very thick] (TB2) +(0,0) rectangle ++(1,-1);
\coordinate (TB3) at (3,1);
\draw[black,very thick] (TB3) +(0,0) rectangle ++(1,-1);
% \node[frame_label,scale=.75] at (4,1) { (1) };
% \node[frame_label,scale=.75] at (2,2) { (3) };
% \node[frame_label,scale=.75] at (2,4) { (2) };
\end{scope}
% Frame t-1
\begin{scope}[ yshift=2*\TikZyfshift, xshift=1*\xframeshift,
style={yslant=\TikZyslant,xscale=\TikZxscale}]
\coordinate (T0B1) at (1,4);
\coordinate (T0B2) at (2,4);
\coordinate (T0B3) at (3,4);
\coordinate (T0B4) at (1,3);
\coordinate (T0B5) at (1,2);
\coordinate (T0B6) at (3,1);
% Draw temporal Dependencies
\coordinate (MVRefT02T1) at (1.5,3.5);
%\path[refmv,dashed] (TB1)++(0.5,-0.5) -- (MVRefT02T1);
\path[refmv,dashed] (TB1)++(0.5,-0.5) -- (MVRefT02T1) node[pos=0.4,yshift=.3cm,frame_label,scale=.7] {(2)};
\coordinate (MVRef1B7) at (3.5,0.5);
%\path[refmv] (TB3)+(0.5,-0.5) -- (MVRef1B7);
\path[refmv] (TB3)+(0.5,-0.5) -- (MVRef1B7) node[pos=0.55,yshift=-.3cm,frame_label,scale=.7] {(1)};
\coordinate (MVRef1B6) at (1.5,1.5);
%\path[refmv,dashed] (TB2)+(0.5,-0.5) -- (MVRef1B6);
\path[refmv,dashed] (TB2)+(0.5,-0.5) -- (MVRef1B6) node[pos=0.4,yshift=.3cm,frame_label,scale=.7] {(3)};
\DrawFrame
\draw[black,very thick] (T0B1) +(0,0) rectangle ++(1,-1);
\draw[black,very thick] (T0B2) +(0,0) rectangle ++(1,-1);
\draw[black,very thick] (T0B3) +(0,0) rectangle ++(1,-1);
\draw[black,very thick] (T0B4) +(0,0) rectangle ++(1,-1);
\draw[black,very thick] (T0B5) +(0,0) rectangle ++(1,-1);
\draw[black,very thick] (T0B6) +(0,0) rectangle ++(1,-1);
% Draw spatial Dependencies
\coordinate (MVRef1B2) at (1.5,3.5);
\draw[refmv] (T0B2)+(0.5,-0.5) to (MVRef1B2);
\coordinate (MVRef1B3) at (2.5,3.5);
\draw[refmv] (T0B3)+(0.5,-0.5) to (MVRef1B3);
\coordinate (MVRef1B4) at (1.5,3.5);
\draw[refmv] (T0B4)+(0.5,-0.5) to (MVRef1B4);
\coordinate (MVRef1B5) at (1.5,2.5);
\draw[refmv] (T0B5)+(0.5,-0.5) to (MVRef1B5);
\end{scope}
% Frame t-2
\begin{scope}[ yshift=1*\TikZyfshift, xshift=0*\xframeshift,
style={yslant=\TikZyslant,xscale=\TikZxscale}]
%Define Points
\coordinate (TM1B1) at (1,4);
\coordinate (MVRef1B1) at (1.5,3.5);
\coordinate (TM1B2) at (3,4);
% Draw Dependencies
\draw[refmv] (T0B1)++(0.5,-0.5) to (MVRef1B1);
\DrawFrame
% Draw block
\draw[black,very thick] (TM1B1) rectangle ++(1,-1);
\end{scope}
% Frame number
\begin{scope}[xshift=2.5cm,yshift=5.3cm]
\node[frame_label] at (0*\xframeshift,0) { $f_{t-2}$ };
\node[frame_label] at (1*\xframeshift,0) { $f_{t-1}$ };
\node[frame_label] at (2*\xframeshift,0) { $f_{t}$ };
\end{scope}
\begin{scope}[xshift=0.5cm,yshift=-1.8cm]
\draw[refmv] (0,0) to (1.2,0);
\fill[black] (1.25,0) node[frame_label, right, scale=.8] {Valid \ac{mv} dependency};
\end{scope}
\begin{scope}[xshift=0.5cm,yshift=-2.7cm]
\draw[refmv,dashed] (0,0) to (1.2,0);
\fill[black] (1.25,0) node[frame_label, right, scale=.8] {Disabled \ac{mv} dependency};
\end{scope}
\end{scope}
\end{tikzpicture}