88 lines
2.4 KiB
TeX
88 lines
2.4 KiB
TeX
|
\documentclass{standalone}
|
||
|
\usepackage{tikz}
|
||
|
|
||
|
% a global rescaling factor
|
||
|
\def\rescale{0.6}
|
||
|
|
||
|
% length of the axes
|
||
|
\def\axeslength{\rescale*3}
|
||
|
% width, length and height of a plate
|
||
|
\def\w{\rescale*2.5}
|
||
|
\def\l{\rescale*4}
|
||
|
\def\h{\rescale*0.2}
|
||
|
|
||
|
% space between figures
|
||
|
\def\interlen{\rescale*8}
|
||
|
% offset of the label of each figure
|
||
|
\def\labeloffsetx{\rescale*2}
|
||
|
\def\labeloffsety{\rescale*3}
|
||
|
|
||
|
% factor by which to multiply lengths to get depths
|
||
|
\def\rotx{0.5*0.5}
|
||
|
\def\roty{0.5*0.866}
|
||
|
|
||
|
% draw a plate at #1 of width #2, length #3 and height #4
|
||
|
\def\plate#1#2#3#4{
|
||
|
\def\width{#2}
|
||
|
\def\length{#3}
|
||
|
\def\height{#4}
|
||
|
|
||
|
% the center
|
||
|
\path#1coordinate(O);
|
||
|
|
||
|
% draw first half of axes
|
||
|
\draw(O)++(-\axeslength,0)--(O);
|
||
|
\path(O)++(\rotx*\axeslength,\roty*\axeslength)coordinate(t);
|
||
|
\draw[->](O)++(\rotx*0.5*\width,\roty*0.5*\width)--(t);
|
||
|
\draw(O)++(0,-\axeslength)--(O);
|
||
|
|
||
|
% define points
|
||
|
\path(O)++(-0.5*\length,-0.5*\height)++(-0.5*\rotx*\width,-0.5*\roty*\width)coordinate(A);
|
||
|
\path(A)++(\length,0)coordinate(B);
|
||
|
\path(B)++(\rotx*\width,\roty*\width)coordinate(C);
|
||
|
\path(C)++(-\length,0)coordinate(D);
|
||
|
\path(D)++(0,\height)coordinate(E);
|
||
|
\path(E)++(-\rotx*\width,-\roty*\width)coordinate(F);
|
||
|
\path(F)++(\length,0)coordinate(G);
|
||
|
\path(G)++(\rotx*\width,\roty*\width)coordinate(H);
|
||
|
|
||
|
% fill and stroke the plate (covers part of the axes)
|
||
|
\fill[color=white](A)--(B)--(C)--(H)--(E)--(F)--(A);
|
||
|
\draw(A)--(B)--(C)--(H)--(E)--(F)--(G)--(H);
|
||
|
\draw(A)--(F);
|
||
|
\draw(B)--(G);
|
||
|
|
||
|
% draw the second half of the axes after having filled the plate
|
||
|
\path(O)++(\axeslength,0)coordinate(t);
|
||
|
\draw[->](O)++(0.5*\length,0)--(t);
|
||
|
\path(O)++(-\rotx*0.5*\width,-\roty*0.5*\width)coordinate(t);
|
||
|
\draw(O)++(-\rotx*\axeslength,-\roty*\axeslength)--(t);
|
||
|
\path(O)++(0,\axeslength)coordinate(t);
|
||
|
\draw[->](O)++(0,0.5*\height)--(t);
|
||
|
}
|
||
|
|
||
|
\begin{document}
|
||
|
\begin{tikzpicture}
|
||
|
|
||
|
% 3a
|
||
|
\plate{(0,0)}{\w}{\l}{\h}
|
||
|
\path(-\labeloffsetx,\labeloffsety)node{$3_a$};
|
||
|
% 3b
|
||
|
\plate{(\interlen,0)}{\l}{\w}{\h}
|
||
|
\path(\interlen,0)++(-\labeloffsetx,\labeloffsety)node{$3_b$};
|
||
|
% 1a
|
||
|
\plate{(2*\interlen,0)}{\l}{\h}{\w}
|
||
|
\path(2*\interlen,0)++(-\labeloffsetx,\labeloffsety)node{$1_a$};
|
||
|
% 1b
|
||
|
\plate{(0,-\interlen)}{\w}{\h}{\l}
|
||
|
\path(0,-\interlen)++(-\labeloffsetx,\labeloffsety)node{$1_b$};
|
||
|
% 2a
|
||
|
\plate{(\interlen,-\interlen)}{\h}{\w}{\l}
|
||
|
\path(\interlen,-\interlen)++(-\labeloffsetx,\labeloffsety)node{$2_a$};
|
||
|
% 2b
|
||
|
\plate{(2*\interlen,-\interlen)}{\h}{\l}{\w}
|
||
|
\path(2*\interlen,-\interlen)++(-\labeloffsetx,\labeloffsety)node{$2_b$};
|
||
|
|
||
|
\end{tikzpicture}
|
||
|
\end{document}
|