\def\MVDEPA{\mbox{(a)}\xspace} \def\MVDEPB{\mbox{(b)}\xspace} \def\MVDEPC{\mbox{(c)}\xspace} \newcommand{\scale}{.8} \newcommand{\xfshift}{5cm} \begin{tikzpicture}[scale=\scale] \tikzstyle{block}=[thick] \tikzstyle{refmv}=[-latex,very thick,scale=1] \tikzstyle{MvLabel}=[right, font=\footnotesize] \tikzstyle{DepsLabel}=[font=\footnotesize, fill=white, inner sep=0] \newcommand{\DrawFrameMVDependency} { \newcommand{\fsize}{4cm} \fill[fill=white,fill opacity=.6] (0,0) rectangle (\fsize,\fsize); % Opacity \draw[thick] (0,0) rectangle (\fsize,\fsize); \foreach \x in {1,...,4} \draw[loosely dashed] (\x,0) -- ++(0,\fsize); \foreach \y in {1,...,4} \draw[loosely dashed] (0,\y) -- ++(\fsize,0); } % Frame t \begin{scope}[yshift=2*\TikZyfshift, xshift=2*\xfshift, style={yslant=\TikZyslant,xscale=\TikZxscale}] \coordinate (T0B1) at (1,3); \coordinate (T0B20) at (2,3); \coordinate (T0B21) at (2,2.5); \coordinate (T0B22) at (2.5,3); \coordinate (T0B3) at (3,3); \coordinate (T0B4) at (1,2); \coordinate (T0B5) at (2,1); \coordinate (T0B6) at (3,1); \DrawFrameMVDependency \draw[block] (T0B1) +(0,0) rectangle ++(1,-1); \draw[block] (T0B20) rectangle ++(0.5,-0.5); \draw[block] (T0B21) rectangle ++(0.5,-0.5); \draw[block] (T0B22) rectangle ++(0.5,-1); \draw[block] (T0B3) +(0,0) rectangle ++(1,-1); \draw[block] (T0B5) +(0,0) rectangle ++(1,-1); \draw[block] (T0B6) +(0,0) rectangle ++(1,-1); \draw[refmv] (T0B20)+(0.25,-0.25) -- ++(-0.5,-0.5); \draw[refmv] (T0B21)+(0.25,-0.25) -- ++(-0.5,0); \draw[refmv] (T0B22)+(0.25,-0.5) -- ++(-0.25,-0.25); \draw[refmv] (T0B3)+(0.5,-0.5) -- ++(-0.25,-0.5); \draw[refmv] (T0B6)+(0.5,-0.5) -- ++(-0.5,-0.5); \node[DepsLabel] () at (1.2,2.8) {\MVDEPA}; \node[DepsLabel] () at (2.2,0.8) {\MVDEPB}; \node at (4cm/2,4.7cm) { $f_{0}$ }; \end{scope} % Frame t-1 \begin{scope}[ yshift=2*\TikZyfshift, xshift=1*\xfshift,style={yslant=\TikZyslant,xscale=\TikZxscale}] \coordinate (MVRef1B1) at (1.5,2.5); \draw[refmv,dashed] (T0B1)++(0.5,-0.5) to (MVRef1B1); \draw[refmv,-,shorten >=35] (T0B1)++(0.5,-0.5) to (MVRef1B1); \coordinate (MVRef1B2) at (2.75,0.25); \draw[refmv,dashed] (T0B5)++(0.5,-0.5) to (MVRef1B2); \draw[refmv,-,shorten >=18] (T0B5)++(0.5,-0.5) to (MVRef1B2); \DrawFrameMVDependency \coordinate (T0B1) at (1,3); \draw[block] (T0B1) rectangle ++(1,-1); \coordinate (T0B2) at (2,3); \draw[block] (T0B2) rectangle ++(0.5,-0.5); \draw[refmv] (T0B2)+(0.25,-0.25) -- ++(-0.5,-0.5); \coordinate (T0B3) at (2.5,3); \draw[refmv] (T0B3)+(0.25,-0.25) -- ++(-0.25,-0.25); \draw[block] (T0B3) rectangle ++(0.5,-0.5); \coordinate (T0B4) at (2,2.5); \draw[block] (T0B4) rectangle ++(0.5,-0.5); \draw[refmv] (T0B4)+(0.25,-0.25) -- ++(0.25,0.25); \coordinate (T0B5) at (2.5,2.5); \draw[block] (T0B5) rectangle ++(0.5,-0.5); \draw[refmv] (T0B5)+(0.25,-0.25) -- ++(-0.25,-0.25); \coordinate (T0B6) at (1,2); \draw[block] (T0B6) +(0,0) rectangle ++(0.5,-0.5); \draw[refmv] (T0B6)+(0.25,-0.25) -- ++(0.5,0.5); \draw[block] (T0B6) ++(0.5,0) rectangle ++(0.5,-0.5); \draw[refmv] (T0B6)+(0.75,-0.25) -- ++(0.25,-0.25); \coordinate (T0B7) at (2.5,0.5); \draw[block] (T0B7) rectangle ++(0.5,-0.5); \node[DepsLabel] () at (1.2,2.8) {\MVDEPC}; \node at (4cm/2,4.7cm) { $f_{-1}$ }; \end{scope} % Frame t-2 \begin{scope}[ yshift=1*\TikZyfshift, xshift=0*\xfshift, style={yslant=\TikZyslant,xscale=\TikZxscale}] %Define Points \coordinate (TM1B1) at (1,3); \coordinate (MVRef1B1) at (1.5,2.5); % Draw Dependencies \draw[refmv,dashed] (T0B1)++(0.5,-0.5) to (MVRef1B1); \draw[refmv,-,shorten >=35] (T0B1)++(0.5,-0.5) to (MVRef1B1); \DrawFrameMVDependency % Draw block \draw[block] (TM1B1) rectangle ++(1,-1); \node at (4cm/2,4.7cm) { $f_{-2}$ }; \end{scope} \begin{scope}[xshift=0cm,yshift=-1.2cm] \draw[refmv] (0,0) to (1.2,0); \fill[black] (1.25,0) node[MvLabel]{MV dependency}; \end{scope} \end{tikzpicture}