As mentioned in the comments, you can use xslant and yslant` both with suitable values.
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[xslant=.6,yslant=.8]
\def\nuPi{3.1459265}
\foreach \a in {0,6,12,18,24}{
\foreach \x in {0,3}{
\foreach \y in {0,2*sqrt(3),4*sqrt(3),6*sqrt(3)}{
\foreach \i in {0,...,5}{
\draw [ultra thick,blue,]({\x + \a+2*cos(360*\i/6)},{\y+sqrt(\x)+2*sin(360*\i/6)}) -- ({\x + \a+2*cos(360*(\i+1)/6)},{\y+sqrt(\x)+2*sin(360*(\i+1)/6)});
\shade[ball color=red] ({\x + \a+2*cos(360*\i/6)},{\y+sqrt(\x)+2*sin(360*\i/6)}) circle(0.45);
}
}
}
}
\end{tikzpicture}
\end{document}

You can check for suitable values of xslant and yslant this way. (takes time to compile)
\documentclass[tikz]{standalone}
\begin{document}
\foreach \xslant in {.4,.8}{
\foreach \yslant in {.1,.2,...,.9}{
\begin{tikzpicture}
\useasboundingbox (-8,-8) rectangle (65,45);
\def\nuPi{3.1459265}
\foreach \a in {0,6,12,18,24}{
\foreach \x in {0,3}{
\foreach \y in {0,2*sqrt(3),4*sqrt(3),6*sqrt(3)}{
\foreach \i in {0,...,5}{
\draw [ultra thick,blue,xslant=\xslant,yslant=\yslant]({\x + \a+2*cos(360*\i/6)},{\y+sqrt(\x)+2*sin(360*\i/6)}) -- ({\x + \a+2*cos(360*(\i+1)/6)},{\y+sqrt(\x)+2*sin(360*(\i+1)/6)});
\shade[ball color=red,xslant=\xslant,yslant=\yslant] ({\x + \a+2*cos(360*\i/6)},{\y+sqrt(\x)+2*sin(360*\i/6)}) circle(0.45);
}
}
}
}
\end{tikzpicture}
}
}
\end{document}

\begin{tikzpicture}[xslant=.5]? – Sigur Nov 23 '13 at 15:09yslantalso.[xslant=.5,yslant=.6]– Nov 23 '13 at 15:49