To get better figures, I used the sloped option in the node command to be able to write a text tangent to a certain segment. For example, to put the 14 number in the top face of the first figure I used
\path (A) -- node[sloped] {14} (C);
where (A) and (C) are opposite vertices of this face. I did not know anything about this sloped option in the node command. I learned about it reading this topic.
To get the coordinates of the vertices of the second figure, I rotated de vertices of the truncated cube of the first figure. I learned about this reading this topic.
Manually I adjusted the positioning of each number on each face with xslant, yslant and rotation. It was very difficult to adjust these numbers and I believe that there should be more automatic way to project the numbers on the faces of the truncated cube.
I found in another topic a beautiful example of a pyramid with texts on their faces. Unfortunately this example is in PSTricks and I have no knowledge to be able to understand that code.
My tex code and the result obtained for the truncated cube with numbered faces are these. It was not 100%, but it is more or less acceptable. This answer does not end the discussion of this topic because there must be better solutions.
\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{arrows}
\usepackage{amsmath}
\begin{document}
\newcommand{\rotateRPY}[3]% roll, pitch, yaw
{ \pgfmathsetmacro{\rollangle}{#1}
\pgfmathsetmacro{\pitchangle}{#2}
\pgfmathsetmacro{\yawangle}{#3}
% to what vector is the x unit vector transformed, and which 2D vector is this?
\pgfmathsetmacro{\newxx}{cos(\yawangle)*cos(\pitchangle)}
\pgfmathsetmacro{\newxy}{sin(\yawangle)*cos(\pitchangle)}
\pgfmathsetmacro{\newxz}{-sin(\pitchangle)}
\path (\newxx,\newxy,\newxz);
\pgfgetlastxy{\nxx}{\nxy};
% to what vector is the y unit vector transformed, and which 2D vector is this?
\pgfmathsetmacro{\newyx}{cos(\yawangle)*sin(\pitchangle)*sin(\rollangle)-sin(\yawangle)*cos(\rollangle)}
\pgfmathsetmacro{\newyy}{sin(\yawangle)*sin(\pitchangle)*sin(\rollangle)+ cos(\yawangle)*cos(\rollangle)}
\pgfmathsetmacro{\newyz}{cos(\pitchangle)*sin(\rollangle)}
\path (\newyx,\newyy,\newyz);
\pgfgetlastxy{\nyx}{\nyy};
% to what vector is the z unit vector transformed, and which 2D vector is this?
\pgfmathsetmacro{\newzx}{cos(\yawangle)*sin(\pitchangle)*cos(\rollangle)+ sin(\yawangle)*sin(\rollangle)}
\pgfmathsetmacro{\newzy}{sin(\yawangle)*sin(\pitchangle)*cos(\rollangle)-cos(\yawangle)*sin(\rollangle)}
\pgfmathsetmacro{\newzz}{cos(\pitchangle)*cos(\rollangle)}
\path (\newzx,\newzy,\newzz);
\pgfgetlastxy{\nzx}{\nzy};
}
\tikzset{RPY/.style={x={(\nxx,\nxy)},y={(\nyx,\nyy)},z={(\nzx,\nzy)}}}
\tdplotsetmaincoords{75}{105}
\centerline{
\begin{tikzpicture} [tdplot_main_coords]
\def\a{1.1}; %-- half of the edge of the cube
\coordinate (A) at (\a,0,2*\a);
\coordinate (B) at (2*\a,\a,2*\a);
\coordinate (C) at (\a,2*\a,2*\a);
\coordinate (D) at (0,\a,2*\a);
\coordinate (E) at (2*\a,0,\a);
\coordinate (F) at (2*\a,\a,0);
\coordinate (G) at (2*\a,2*\a,\a);
\coordinate (H) at (\a,2*\a,0);
\coordinate (I) at (0,2*\a,\a);
\coordinate (J) at (\a,0,0);
%----- triangular faces of the first figure -------
\draw[fill=lightgray!3!white,draw=none] (E) -- (A) -- (B) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (B) -- (C) -- (G) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (F) -- (G) -- (H) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (E) -- (F) -- (J) -- cycle;
%-----faces with 4 edges ----------------------------------
\draw[fill=lightgray!2!white,draw=black,thick] (A) -- (B) -- (C) -- (D) -- cycle;
\draw[fill=lightgray!2!white,draw=black,thick] (E) -- (F) -- (G) -- (B) -- cycle;
\draw[fill=lightgray!2!white,draw=black,thick] (C) -- (G) -- (H) -- (I) -- cycle;
%----- others edges -------
\draw[-,thick] (A) -- (E) -- (J) -- (F) -- (H);
%---nodes --------------------
\path (A) -- node[sloped,xslant=.6,yscale=0.9,xscale=1.1] {\large{\bf{14}}} (C);
\node[xslant=-0.5,yslant=0.2,scale=1.1] at (1.7*\a,1.7*\a,1.65*\a) {\large{\bf{1}}};
\node[xslant=0.5,yslant=-0.1,scale=1.05] at (1.7*\a,1.7*\a,0.4*\a) {\large{\bf{8}}};
\path ($(\a,0,2*\a)!0.3!(2*\a,0,\a)$) -- node[sloped,xslant=.2,yscale=1.2] {\large{\bf{4}}} ($(2*\a,\a,2*\a)!0.3!(2*\a,0,\a)$);
\path (2*\a,0,\a) -- node[sloped,xslant=-0.07,yscale=1.3,xscale=1.2] {\large{\bf{13}}} (2*\a,2*\a,\a);
\path (2*\a,2*\a,\a) -- node[sloped,xslant=0.5] {\large{\bf{10}}} (0,2*\a,\a);
\path ($(\a,0,0)!0.3!(2*\a,0,\a)$) -- node[sloped,xslant=-0.4,rotate=12,xshift=-2pt,yscale=0.8] {\large{\bf{3}}}
($(2*\a,\a,0)!0.3!(2*\a,0,\a)$);
\end{tikzpicture} \ \ \ \ \ \
%--- SECOND FIGURE (on the right)
\tdplotsetmaincoords{75}{105}
\begin{tikzpicture} [tdplot_main_coords]
\def\a{1.05}; %-- half of the edge of the cube
\rotateRPY{-40}{-39}{15}
\begin{scope}[RPY]
\coordinate (A) at (2*\a,0,\a);
\coordinate (B) at (2*\a,\a,0);
\coordinate (C) at (2*\a,2*\a,\a);
\coordinate (D) at (2*\a,\a,2*\a);
\coordinate (E) at (\a,2*\a,2*\a);
\coordinate (F) at (\a,2*\a,0);
\coordinate (G) at (0,2*\a,\a);
\coordinate (H) at (\a,0,0);
\coordinate (I) at (0,\a,0);
\coordinate (J) at (\a,0,2*\a);
%----- triangular faces of the second figure -------
\draw[fill=lightgray!3!white,draw=none] (A) -- (J) -- (D) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (D) -- (E) -- (C) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (C) -- (F) -- (B) -- cycle;
\draw[fill=lightgray!3!white,draw=none] (A) -- (B) -- (H) -- cycle;
%-----faces with 4 edges ----------------------------------
\draw[fill=lightgray!2!white,draw=black,thick] (A) -- (B) -- (C) -- (D) -- cycle;
\draw[fill=lightgray!2!white,draw=black,thick] (E) -- (C) -- (F) -- (G) -- cycle;
\draw[fill=lightgray!2!white,draw=black,thick] (H) -- (B) -- (F) -- (I) -- cycle;
%---- other edges
\draw[-,black,thick] (H) -- (A) -- (J) -- (D) -- (E);
%---nodes --------------------
\path ($(A)!0.5!(B)$) -- node[sloped,xslant=0.02,yscale=1.3,xscale=1.2] {\large{\bf{11}}} ($(D)!0.5!(C)$);
\path (H) -- node[sloped,xslant=0.2,rotate=-10,xscale=1.1,yscale=1.2] {\large{\bf{7}}} (F);
\path (C) -- node[sloped,yslant=-0.35,xslant=-0.1,rotate=-5,yshift=1pt] {\large{\bf{12}}} (G);
\path (A) -- node[sloped,xslant=-0.1,yslant=0.1,xshift=-8pt,yshift=1pt, rotate=26,yscale=1.4,xscale=1.1] {\large{\bf{3}}} ($(H)!0.5!(B)$);
\path ($(B)!0.4!(F)$) -- node[sloped,xslant=0.1,yscale=1.25,xscale=1.2,yshift=1pt] {\large{\bf{2}}} ($(C)!0.4!(F)$);
\path ($(E)!0.6!(D)$) -- node[sloped,xslant=0.3,rotate=5,yscale=1.3,xscale=1.1,xshift=2pt] {\large{\bf{5}}} ($(E)!0.6!(C)$);
\path ($(J)!0.5!(A)$) -- node[sloped,xslant=-0.4,xscale=1.1,yscale=0.6] {\bf{8}} ($(J)!0.5!(D)$);
\end{scope}
\end{tikzpicture}}
\end{document}
