Draw cube chain

3dasymptotetikz-pgf

I'm trying to find the easiest way to draw a 3D cube chain in latex. Help me enter image description here

I know how to draw cube in tikz. For example

\newcommand{\tikzcuboid}[4]{% width, height, depth, scale
\begin{tikzpicture}[scale=#4]
\foreach \x in {0,...,#1}
{   \draw (\x ,0  ,#3 ) -- (\x ,#2 ,#3 );

    \draw (\x ,#2 ,#3 ) -- (\x ,#2 ,0  );
    
   
}
\foreach \x in {0,...,#2}
{   \draw (#1 ,\x ,#3 ) -- (#1 ,\x ,0  );
    \draw (0  ,\x ,#3 ) -- (#1 ,\x ,#3 );
}
\foreach \x in {0,...,#3}
{   \draw (#1 ,0  ,\x ) -- (#1 ,#2 ,\x );
    \draw (0  ,#2 ,\x ) -- (#1 ,#2 ,\x );
}
\end{tikzpicture}
}

\newcommand{\tikzcube}[2]{% length, scale
\tikzcuboid{#1}{#1}{#1}{#2}
}

I find this code in Need help creating a 3D cube from a 2D set of nodes in TikZ

enter image description here

Best Answer

Here's a tikz solution. You can change\cubesAmount to draw more or less cubes.

enter image description here

\documentclass{article}
\usepackage{tikz}

\begin{document}
 
\begin{tikzpicture}[z={(0.5,0.5)}]

\def\cubesAmount{3}
\foreach \i in {1,...,\cubesAmount}{
    \draw (\i-1,\i-1,\i-1) rectangle +(1,1,0) -- ++(0,1,0) -- ++(0,0,1) -- ++(1,0,0) edge +(0,0,-1) -- ++(0,-1,0) -- ++(0,0,-1);
    \ifnum\i<\cubesAmount
        \node[anchor=north west] at (\i,\i,\i) {$(\i,\i,\i)$};
    \fi
}
\node[anchor=north east] at (0,0,0){$(0,0,0)$};
\node[anchor=south west] at (\cubesAmount,\cubesAmount,\cubesAmount){$(\cubesAmount,\cubesAmount,\cubesAmount)$};
 
\end{tikzpicture}
 
\end{document}

Also, if you want to change the perspective, you can tweak around z={(yaw,pitch)}

enter image description here