Fichier LaTeX : test/tkzspidercab.tex


Télécharger le fichier original

%!TEX pdflatex

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\def\tkzspidercablevel{6}%nb de niveaux
\def\tkzspidercabstart{0.5}%décalage n°1
\def\tkzspidercaboffset{\fpeval{4/(12*\tkzspidercablevel)}}%calcul automatique
\def\tkzspidercabscale{0.5}

\begin{tikzpicture}[scale=\tkzspidercabscale,transform shape,line width=\fpeval{\tkzspidercabscale*0.5}mm]
	%cab
	\foreach \i in {0,...,10}{\draw[] (0,0)--({\i/12*360}:5);}
	\draw[line width=\fpeval{\tkzspidercabscale*0.5}mm] (0,0)--({11/12*360}:4.5);
	\foreach \i in {0,...,\inteval{12*\tkzspidercablevel}}{%
		\xdef\j{\inteval{1-\i}}%
		\draw[] ({\j/12*360}:{\tkzspidercabstart+\i*\tkzspidercaboffset}) to[bend left=-20] ({(\j-1)/12*360}:{\tkzspidercabstart+(\i+1)*\tkzspidercaboffset}) ;
	}
	\draw[] (0:{\tkzspidercabstart+(12*\tkzspidercablevel+1)*\tkzspidercaboffset})--++(0,{-0.55*5}) ;
	%spider
	\coordinate (SPIDER) at ({\tkzspidercabstart+(12*\tkzspidercablevel+1)*\tkzspidercaboffset},{-0.55*5}) ;
	\filldraw[] (SPIDER) circle[x radius=0.6cm,y radius=0.35cm] ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=0.1cm]SPIDER) to[bend left=45]++ (0.75cm,0.2cm) ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=0.1cm,yshift=-0.025cm]SPIDER) to[bend left=30]++ (0.675cm,0.05cm) ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=0.1cm,yshift=-0.1cm]SPIDER) to[bend left=60]++ (0.625cm,-0.2cm) ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=-0.1cm]SPIDER) to[bend right=45]++ (-0.75cm,0.2cm) ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=-0.1cm,yshift=-0.025cm]SPIDER) to[bend right=30]++ (-0.675cm,0.05cm) ;
	\draw[line cap=round,line width=\fpeval{\tkzspidercabscale*0.8}mm] ([xshift=-0.1cm,yshift=-0.1cm]SPIDER) to[bend right=60]++ (-0.625cm,-0.2cm) ;
	\draw[fill=white] ([xshift=-0.2cm,yshift=0.4cm]SPIDER) circle[x radius=0.2cm,y radius=0.275cm] ;
	\draw[fill=white] ([xshift=0.2cm,yshift=0.4cm]SPIDER) circle[x radius=0.2cm,y radius=0.275cm] ;
	\filldraw[] ([xshift=-0.175cm,yshift=0.35cm]SPIDER) circle[radius=0.05cm] ;
	\filldraw[] ([xshift=0.175cm,yshift=0.35cm]SPIDER) circle[radius=0.05cm] ;
\end{tikzpicture}
\end{document}