I want to join the vertices labeled as (1), b, abc, and ac but could not succeed. I'd highly appreciate if you point me out what I'm doing wrong and what is the solution. Thanks

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale = 4, fill opacity = 1.0, thick,
line cap = round, line join = round]
%% Define coordinate labels.
% t(op) and b(ottom) layers
\path \foreach \layer/\direction in {b/{0, 0, 0}, t/{0, 1, 0}} {
(\direction)
\foreach \point/\label in {{0, 0, 0}/ll, {1, 0, 0}/lr, {1, 0, -1}/ur, {0, 0, -1}/ul} {
+(\point) coordinate (\layer\label)
}
($(\layer ll)!0.5!(\layer ur)$) coordinate (\layer md)
};
% Put text next to the labels as requested.
% Funilly enough we need to set fill opacity to 1.
\draw \foreach \text/\label/\anchor in {%
$\left(1\right)$/bll/east,
$b$/bul/east,
$c$/tll/east,
$bc$/tul/east,
$a$/blr/west,
$ab$/bur/west,
$ac$/tlr/west,
$abc$/tur/west} {
(\label) node[anchor=\anchor, fill opacity = 1] {\text}
};
% Draw cube.
\fill (0, 0, -1) circle (0.5pt);
\foreach \direction in {(0, 0, 1), (0, 1, 0), (1, 0, 0)} {
\draw[dashed, black] (bul) -- + \direction;
}
\fill[red!60, opacity=0.5] (tll) -- (tul) -- (bur) -- (blr);
\fill[blue!60, opacity=0.5] (bll) -- (bul) -- (tur) -- (tlr);
\draw (bll) -- (blr) -- (tlr) -- (tll) -- cycle;
\draw (blr) -- (bur) -- (tur) -- (tlr) -- cycle;
\draw (tll) -- (tlr) -- (tur) -- (tul) -- cycle;
\foreach \point in {bll, blr, bur, tll, tlr, tul, tur} {
\fill[fill opacity=1] (\point) circle (0.75pt);
}
\node[below] at (1.0, -0.2, 0.0) {$AC$};
\end{tikzpicture}
\end{document}

\fillby\filldraw. – Caramdir Dec 06 '12 at 15:39