Ciao,
Lorenzo, il livello di padronanza di [tt]TikZ[/tt] che ha Claudio è per me (per il momento almeno) inarrivabile. Tuttavia mi sono divertito a vedere come io sarei riuscito a realizzare quel disegno con le mie conoscenze ridotte e usando comandi meno complicati. Ecco il mio risultato:
`\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{backgrounds,calc}
\begin{document}
\begin{tikzpicture}[x={(1cm,-.15cm)}, y={(0.55cm,0.55cm)}, z={(0cm,1cm)}]
% definizioni e macro
\def\lbase{3}
\def\altezza{7}
\def\primoLiv{.4}
\def\secondoLiv{.2}
\pgfmathsetmacro{\fineSecondoLiv}{\primoLiv+\secondoLiv}
% coordinate
\coordinate (baseA) at (0,0,0);
\coordinate (baseB) at (\lbase,0,0);
\coordinate (baseC) at (\lbase,\lbase,0);
\coordinate (baseD) at (0,\lbase,0);
\coordinate (vertice) at (\lbase/2,\lbase/2,\altezza);
\coordinate (primoLivelloA) at ($(baseA)!\primoLiv!(vertice)$);
\coordinate (primoLivelloB) at ($(baseB)!\primoLiv!(vertice)$);
\coordinate (primoLivelloC) at ($(baseC)!\primoLiv!(vertice)$);
\coordinate (secondoLivelloA) at ($(baseA)!\fineSecondoLiv!(vertice)$);
\coordinate (secondoLivelloB) at ($(baseB)!\fineSecondoLiv!(vertice)$);
\coordinate (secondoLivelloC) at ($(baseC)!\fineSecondoLiv!(vertice)$);
\node [text width=2cm, align=center, color=blue, anchor=east,xshift=-.5cm] (etichettaPrimoLivello) at ($(baseA)!.5!(primoLivelloA)$) {Metabolismo \\ basale};
\node [text width=2cm, align=center, color=darkgray, anchor=east,xshift=-.5cm] (etichettaSecondoLivello) at ($(primoLivelloA)!.5!(secondoLivelloA)$) {Attività \\ fisica};
\node [text width=3cm, align=center, color=red, anchor=east,xshift=-.5cm] (etichettaTerzoLivello) at ($(secondoLivelloA)!.5!(vertice)$) {TID \\ Termogenesi \\ Indotta \\ dagli Alimenti};
% riempimento primo livello
\fill [blue!55] (baseA) — (baseB) — (primoLivelloB) — (primoLivelloA);
\fill [blue!75] (baseB) — (baseC) — (primoLivelloC) — (primoLivelloB);
% riempimento secondo livello
\fill [white] (primoLivelloA) — (primoLivelloB) — (secondoLivelloB) — (secondoLivelloA);
\fill [gray!35] (primoLivelloB) — (primoLivelloC) — (secondoLivelloC) — (secondoLivelloB);
% riempimento terzo livello
\fill [red!55] (secondoLivelloA) — (secondoLivelloB) — (vertice);
\fill [red!75] (secondoLivelloB) — (secondoLivelloC) — (vertice);
% bordo piramide
\draw (baseA) — (baseB) — (baseC);
\draw (baseA) — (vertice);
\draw (baseB) — (vertice);
\draw (baseC) — (vertice);
% primo livello
\draw (primoLivelloA) — (primoLivelloB) — (primoLivelloC);
\node at ($($(baseA)!.5!(primoLivelloA)$)!.5!($(baseB)!.5!(primoLivelloB)$)$) {$60 \div 70\%$};
% secondo livello
\draw (secondoLivelloA) — (secondoLivelloB) — (secondoLivelloC);
\node [text width=1cm, align=center] at ($($(primoLivelloA)!.5!(secondoLivelloA)$)!.5!($(primoLivelloB)!.5!(secondoLivelloB)$)$) {$20$ \\ $\div$ \\ $30\%$};
% terzo livello
\node at ($($(secondoLivelloA)!.2!(vertice)$)!.5!($(secondoLivelloB)!.2!(vertice)$)$) {$10\%$};
\end{tikzpicture}
\end{document}`
Probabilmente a te non interessa molto questa soluzione, avendo a disposizione quella più raffinata di Claudio. In ogni caso, spero che possa essere utile a qualche utente che, non avendo le conoscenze di Claudio, voglia comunque realizzare quel disegno.
Ciao e buona giornata,
Marco.
P.S. Allego il pdf del mio disegno.
[attachment=620]piramide.pdf[/attachment]