dimanche 14 juillet 2013

Éve à la plage, dessinée avec PSTricks par Thomas Söll


 Le même modèle dont les fichiers (Woman2.pdf Woman2.tex) sont dans l'archive :


Pour le garçon, voir le message précédent. Voici le code PSTricks de l'Éve ci-dessus :

\documentclass{article}
\usepackage[paperwidth=21cm,paperheight=30cm,left=1.5cm,textwidth=18cm,textheight=27cm]{geometry}
\usepackage{pstricks}
\begin{document}

\definecolor{Weiss}{rgb}{1,0.98,0.98}%     255 250 250
\definecolor{Haut}{rgb}{1,0.894,0.769}% 255 228 196
\definecolor{Auge}{rgb}{0.54,0.27,0.074}% 139 69 19
\psset{unit=1.25}
\begin{pspicture}(-3,0)(3,16)

\rput(0,0.89){%
\psscalebox{0.94}{%
% Haare hinterm Kopf
\pscustom[fillstyle=solid,fillcolor=yellow!50!brown!50,linecolor=brown!50,linewidth=0.5pt]{%
\psbezier(0,16)(-0.5,16)(-0.8,15.5)(-0.9,15)
\psbezier(-1.1,14)(-1,14)(-1.3,13.4)
\psline(-1.3,13.4)(0.7,13.4)
\psbezier(0.6,13.8)(0.75,13.9)(0.8,14.4)
\psbezier(0.9,15)(0.9,16)(0,16)
\closepath
}
}}

% Hals, Arme, Bauch
\pscustom[fillstyle=solid,fillcolor=Haut,linecolor=black!90,linewidth=0.8pt]{%
%
%\psset{showpoints}
% Hals links
\psbezier(-0.295,14.2)(-0.295,13.5)(-0.6,13.6)(-1.2,13.5)
\psbezier(-1.8,13.4)(-1.83,12.6)(-1.9,12)
\psline(-1.9,12)(-2.0,10.1)
% linker Unterarm mit Hand
\psbezier(-2.1,9.5)(-2.1,8.8)(-2.1,8)
\psbezier(-2.19,7.7)(-2.2,7.7)(-2.2,7.4)
\psbezier(-2.2,7.25)(-2.2,7.25)(-2.19,7.1)
\psbezier(-2.2,6.94)(-2.2,6.94)(-2.18,6.8)
\psbezier(-2.1,6.8)(-2.09,6.9)(-2.1,7.4)
\psline(-2.1,7.2)(-2.09,6.85)
\psbezier(-2.04,6.85)(-2.01,7.03)(-2.04,7.1)
\psline(-2.04,7.1)(-2,7.4)(-2.03,7.6)
\psbezier(-1.98,7.4)(-1.99,7.05)(-1.97,6.98)
\psbezier(-1.93,6.98)(-1.83,6.89)(-1.84,7.4)
%\psbezier(-1.79,7.3)(-1.79,7.3)(-1.8,7.4)
\psbezier(-1.76,7.7)(-1.76,7.7)(-1.77,8)

\psbezier(-1.67,9)(-1.67,9)(-1.6,10.05)
\psbezier(-1.4,11)(-1.45,11)(-1.3,12)

% linker Oberarm zum K\"{o}rper Brustkorb und Bauch links bis zur H\"{u}fte links
%\psline(-1.65,10.05)(-1.3,12)
\psbezier(-1.2,12.5)(-1.2,12.4)(-1.15,12.6)
\psbezier(-1.15,11.9)(-0.94,11.5)(-0.94,10.8)
\psline(-0.94,10.8)(-0.94,10.2)
\psbezier(-0.94,9.2)(-1.3,9)(-1.3,7.8)

% Beine von H\"{u}fte links
\psbezier(-1.3,6.8)(-0.8,5.5)(-0.8,4)
\psbezier(-0.8,3.6)(-0.85,3.4)(-0.85,3)
\psbezier(-0.85,2.4)(-0.65,1.5)(-0.65,1)
\psbezier(-0.65,0.9)(-1,0.5)(-1,0.4)
\psbezier(-0.9,0)(-0.9,0)(-0.7,0)
\psbezier(-0.6,0)(-0.5,0.1)(-0.45,0.2)
\psbezier(-0.3,0.3)(-0.2,0.9)(-0.2,1)
\psbezier(-0.2,1.06)(-0.24,1.14)(-0.24,1.2)
\psbezier(-0.24,1.8)(-0.1,2.2)(-0.1,2.8)
\psbezier(-0.1,3.2)(-0.15,3.65)(-0.15,4)
\psline(-0.15,4)(-0.03,7.4)
\psbezier(-0.03,7.9)(0.03,7.9)(0.03,7.4)
\psline(0.03,7.4)(0.15,4)
\psbezier(0.15,3.65)(0.1,3.2)(0.1,2.8)
\psbezier(0.1,2.2)(0.24,1.8)(0.24,1.2)
\psbezier(0.24,1.14)(0.2,1.06)(0.2,1)
\psbezier(0.2,0.9)(0.3,0.3)(0.45,0.2)
\psbezier(0.5,0.1)(0.6,0)(0.7,0)
\psbezier(0.9,0)(0.9,0)(1,0.4)
\psbezier(1,0.5)(0.65,0.9)(0.65,1)
\psbezier(0.65,1.5)(0.85,2.4)(0.85,3)
\psbezier(0.85,3.4)(0.8,3.6)(0.8,4)
\psbezier(0.8,5.5)(1.3,6.8)(1.3,7.8)

% rechte H\"{u}fte bis Achsel
\psbezier(1.3,9)(0.94,9.2)(0.94,10.2)
\psline(0.94,10.2)(0.94,10.8)
\psbezier(0.94,11.5)(1.15,12.4)(1.15,12.6)


% rechter Arm + Hand ab Achsel

\psbezier(1.2,12.4)(1.2,12.5)(1.3,12)

\psbezier(1.45,11)(1.4,11)(1.6,10.05)
\psbezier(1.67,9)(1.67,9)(1.77,8)
\psbezier(1.76,7.7)(1.76,7.7)(1.84,7.4)
\psbezier(1.83,6.89)(1.93,6.98)(1.97,6.98)
\psbezier(1.99,7.05)(1.98,7.4)(2.03,7.6)
\psline(2.03,7.6)(2,7.4)(2.04,7.1)
\psbezier(2.01,7.03)(2.04,6.85)(2.09,6.85)
\psline(2.09,6.85)(2.1,7.2)(2.1,7.4)
\psbezier(2.09,6.9)(2.1,6.8)(2.18,6.8)
\psbezier(2.2,6.94)(2.2,6.94)(2.19,7.1)
\psbezier(2.2,7.25)(2.2,7.25)(2.2,7.4)
\psbezier(2.2,7.7)(2.19,7.7)(2.1,8)
\psbezier(2.15,8.3)(2.1,9.5)(2.0,10.1)

% rechter Arm au{\ss}en ab Armgelenk bis Hals
\psline(2.0,10.1)(1.9,12)
\psbezier(1.83,12.6)(1.8,13.4)(1.2,13.5)
\psbezier(0.6,13.6)(0.295,13.5)(0.295,14.2)

\closepath
}

% Linie in der linken Hand von Zeigefinger
\psbezier(-2.1,7.4)(-2.07,7.5)(-2,7.55)(-2.02,7.58)
% Linie in der rechten Hand von Zeigefinger
\psbezier(2.1,7.4)(2.07,7.5)(2,7.55)(2.02,7.58)

{\psset{linecolor=black!40,linewidth=0.5pt}
% Linie in der linken Armbeuge
\psbezier(-1.7,10.0)(-1.8,9.97)(-1.8,9.99)(-1.9,10.03)
% Linie in der rechten Armbeuge
\psbezier(1.7,10.0)(1.8,9.97)(1.8,9.99)(1.9,10.03)
}

% Kniescheibe
{\psset{linecolor=black!40,linewidth=0.7pt}
\psbezier(-0.6,4.5)(-0.64,4.45)(-0.7,4.4)(-0.58,4)
\psbezier(-0.3,4.5)(-0.22,4.3)(-0.22,4.2)(-0.3,4)
\psbezier(0.6,4.5)(0.64,4.45)(0.7,4.4)(0.58,4)
\psbezier(0.3,4.5)(0.22,4.3)(0.22,4.2)(0.3,4)
}

% Linien am Hals
{\psset{linecolor=black!40,linewidth=0.6pt}
\psbezier(-0.2,13.9)(-0.14,13.75)(-0.15,13.8)(-0.15,13.7)
\psbezier(0.2,13.9)(0.14,13.75)(0.15,13.8)(0.15,13.7)
\psbezier(-0.15,13.55)(-0.1,13.48)(0.1,13.48)(0.15,13.55)
\psbezier(-0.5,13.45)(-0.3,13.45)(-0.2,13.35)(0,13.35)
\psbezier(0.5,13.45)(0.3,13.45)(0.2,13.35)(0,13.35)
}

% Bauchnabel
\psellipse[fillstyle=solid,fillcolor=black!40,linestyle=none](0,9.6)(0.05,0.07)

% B\"{u}ste
\pscustom[fillstyle=solid,fillcolor=Haut,linestyle=none]{%
\psbezier(-1.06,12.13)(-1.22,11.7)(-1.1,11.25)(-0.7,11.25)
\psbezier(-0.1,11.25)(0,11.6)(-0.1,12.2)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=Haut,linestyle=none]{%
\psbezier(1.05,12.13)(1.22,11.7)(1.1,11.25)(0.7,11.25)
\psbezier(0.1,11.25)(0,11.6)(0.1,12.2)
\closepath
}
{\psset{linecolor=black!70,linewidth=0.7pt}
\psbezier(-1.06,12.13)(-1.22,11.7)(-1.1,11.25)(-0.7,11.25)
\psbezier(-0.7,11.25)(-0.1,11.25)(0,11.6)(-0.1,12.2)
\pscircle[fillstyle=solid,fillcolor=brown,linestyle=none](-0.73,11.61){2.7pt}

\psbezier(1.05,12.13)(1.22,11.7)(1.1,11.25)(0.7,11.25)
\psbezier(0.7,11.25)(0.1,11.25)(0,11.6)(0.1,12.2)
\pscircle[fillstyle=solid,fillcolor=brown,linestyle=none](0.73,11.61){2.7pt}
}

\rput(0.08,1.45){%
\psscalebox{0.9}{%
% Kopf
\pscustom[fillstyle=solid,fillcolor=Haut,linecolor=black!90,linewidth=0.8pt]{%
%
%\psset{showpoints}
\psbezier(0,13.95)(-0.3,13.95)(-0.65,14.5)(-0.65,14.9)
\psbezier(-0.65,15.3)(-0.5,15.8)(0,15.8)
\psbezier(0.5,15.8)(0.65,15.3)(0.65,14.9)
\psbezier(0.65,14.5)(0.3,13.95)(0,13.95)
\closepath
}

\def\AugeR{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(0.05,0)(0.04,0.004)(0.02,0.02)(0,0.02)
\psbezier(-0.02,0.02)(-0.04,0.01)(-0.05,-0.005)
\psbezier(-0.047,0)(-0.02,-0.018)(0,-0.018)
\psbezier(0.02,-0.018)(0.04,-0.006)(0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,linecolor=black!60,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,linecolor=black!90,fillstyle=solid,fillcolor=white](0.009,0.003)(0.01,0.014)(-0.002,0.014)(-0.002,0.003)
\pspolygon[linewidth=0.06pt,linecolor=black!90,fillstyle=solid,fillcolor=white](-0.004,0.003)(-0.004,0.014)(-0.012,0.014)(-0.012,0.003)
\psbezier[linewidth=0.1pt](0.05,0.01)(0.044,0.03)(-0.02,0.05)(-0.05,0.005)
\psbezier[linewidth=0.3pt](0.05,0.035)(0.044,0.05)(-0.02,0.055)(-0.05,0.04)
}

\def\AugeL{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(-0.05,0)(-0.04,0.004)(-0.02,0.02)(0,0.02)
\psbezier(0.02,0.02)(0.04,0.01)(0.05,-0.005)
\psbezier(0.047,0)(0.02,-0.018)(0,-0.018)
\psbezier(-0.02,-0.018)(-0.04,-0.006)(-0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,linecolor=black!60,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,linecolor=black!90,fillstyle=solid,fillcolor=white](-0.009,0.003)(-0.01,0.014)(0.002,0.014)(0.002,0.003)
\pspolygon[linewidth=0.06pt,linecolor=black!90,fillstyle=solid,fillcolor=white](0.004,0.003)(0.004,0.014)(0.012,0.014)(0.012,0.003)
\psbezier[linewidth=0.1pt](-0.05,0.01)(-0.044,0.03)(0.02,0.05)(0.05,0.005)
\psbezier[linewidth=0.3pt](-0.05,0.035)(-0.044,0.05)(0.02,0.055)(0.05,0.04)
}

\rput{-5}(-0.25,15){\psscalebox{2.6}{\AugeL}}
\rput{5}(0.25,15){\psscalebox{2.6}{\AugeR}}

% Mund
\rput(0,14.37){%
\psscalebox{2.1}{%
\pscustom[fillstyle=solid,fillcolor=red!40,linestyle=none]{%
\psline(-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)(0.08,-0.005)
\psbezier(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\closepath
}
\psline[linecolor=black,linewidth=0.2pt](-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)
\psbezier[linecolor=black,linewidth=0.2pt](0.08,-0.005)(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\psbezier[linecolor=black,linewidth=0.2pt](0.1,0.002)(0.05,-0.003)(-0.05,-0.003)(-0.1,0.002)
\psline[linecolor=black,linewidth=0.1pt](0.11,0.012)(0.11,-0.012)
\psline[linecolor=black,linewidth=0.1pt](-0.11,0.012)(-0.11,-0.012)
}}

% Haare vor Kopf
\pscustom[fillstyle=solid,fillcolor=yellow!50!brown!50,linestyle=none]{%
\psbezier(0,15.7)(0.5,15.7)(0.45,15.0)(0.6,14.6)
\psline(0.6,14.6)(0.7,14.6)(0.7,15.4)
\psbezier(0.7,15.6)(0.4,15.9)(0,15.9)
\psline(0,15.9)(0,15.7)
}
{\psset{linecolor=brown!60,linewidth=0.5pt}
\psbezier(0,15.7)(0.5,15.7)(0.45,15.0)(0.6,14.6)
}
\pscustom[fillstyle=solid,fillcolor=yellow!50!brown!50,linestyle=none]{%
\psbezier(0,15.9)(-0.5,15.9)(-0.7,15.4)(-0.8,15.1)
\psline(-0.8,15.1)(-0.8,14.4)(-0.55,14.4)
\psbezier(-0.5,15)(0,15)(0.2,15.9)
\closepath
}
{\psset{linecolor=brown!60,linewidth=0.5pt}
\psbezier(-0.55,14.4)(-0.5,15)(0,15)(0.2,15.9)
}

{\psset{linecolor=brown!50,linewidth=0.4pt}
\psbezier(0.05,15)(0.02,14.85)(0.03,14.85)(0.08,14.6)

}
}
}

% Hose
\pscustom[fillstyle=solid,fillcolor=cyan!10,linecolor=blue!50,linewidth=1pt]{%
\psbezier(-1.2,8.8)(-1.22,8.7)(-1.23,8.7)(-1.24,8.6)
\psbezier(-0.8,8.4)(-0.2,8)(-0.03,7.57)
\psline(-0.03,7.57)(0.03,7.57)
\psbezier(0.2,8)(0.8,8.4)(1.24,8.6)
\psbezier(1.23,8.7)(1.22,8.7)(1.2,8.8)
\psbezier(0,8.7)(0,8.7)(-1.2,8.8)
\closepath
}

% BH
\pscustom[fillstyle=solid,fillcolor=cyan!10,linecolor=blue!50,linewidth=1pt,opacity=0.9]{%
\psline(-1.05,13.53)(-1,12.2)
\psbezier(-0.8,11.8)(-0.5,11.6)(-0.09,11.6)
\psbezier(-0.09,11.4)(-0.4,11.24)(-0.7,11.24)
\psbezier(-1.0,11.24)(-1.28,11.44)(-1.05,12.2)
\psline(-1.05,12.2)(-1.1,13.52)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=cyan!10,linecolor=blue!50,linewidth=1pt,opacity=0.9]{%
\psline(1.05,13.53)(1,12.2)
\psbezier(0.8,11.8)(0.5,11.6)(0.09,11.6)
\psbezier(0.09,11.4)(0.4,11.24)(0.7,11.24)
\psbezier(1.0,11.24)(1.28,11.44)(1.05,12.2)
\psline(1.05,12.2)(1.1,13.52)
\closepath
}
\psline[linecolor=blue!50,linewidth=1.2pt](-0.09,11.58)(0.09,11.58)
\psline[linecolor=blue!50,linewidth=1.2pt](-0.096,11.52)(0.096,11.52)

%\psgrid[subgriddiv=5,gridlabels=10pt,gridwidth=0.5pt,gridcolor=green!50,subgridwidth=0.2pt,subgridcolor=green!30]
\end{pspicture}

\end{document}



mercredi 10 juillet 2013

L'homo sapiens, à la plage, dessiné avec PSTricks

Esthétiquement, ce dessin, réalisé avec PSTricks, ne respecte pas tout à fait les "divines proportions" illustrées dans le dessin de "L'homme de Vitruve" ou "Vitruvius" par Léonard de Vinci en 1492, mais c'est un premier essai(estival) de Thomas Söll...
Ensuite, quelques variations utilisant le package pst-transform :

http://melusine.eu.org/syracuse/mluque/pst-transform/





Les codes :

\documentclass{article}
\usepackage{pstricks}
\begin{document}
\definecolor{Weiss}{rgb}{1,0.98,0.98}%     255 250 250
\definecolor{Haut}{rgb}{1,0.894,0.769}% 255 228 196
\definecolor{Auge}{rgb}{0.54,0.27,0.074}% 139 69 19
\begin{pspicture}(-1.5,0)(1.5,8)
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=1.0pt]{%
% linker Unterarm
\psbezier(-1.15,4.2)(-1.2,4.9)(-1.11,5.1)(-1.05,5.2)
% linke Schulter
\psbezier(-0.95,6.8)(-0.18,6)(-0.18,6.5)
% Hals und Kopf
\psbezier(-0.18,6.8)(-0.32,6.6)(-0.32,7.1)
\psbezier(-0.32,7.34)(-0.2,7.45)(0,7.45)
\psbezier(0.2,7.45)(0.32,7.34)(0.32,7.1)
\psbezier(0.32,6.6)(0.18,6.8)(0.18,6.5)
% rechte Schulter
\psbezier(0.18,6)(0.95,6.8)(1.05,5.2)
% rechter Unterarm
\psbezier(1.11,5.1)(1.2,4.9)(1.15,4.2)
\psbezier(1.14,4.1)(1.16,3.9)(1.15,3.5)
\psbezier(1.15,3.4)(1.16,3.4)(0.95,3.25)
\psbezier(0.9,3.2)(0.88,3.23)(0.85,3.25)
\psbezier(0.86,3.27)(0.92,3.3)(1,3.4)
\psbezier(1.05,3.55)(1.0,3.55)(0.93,3.6)
\psbezier(0.93,3.5)(0.9,3.45)(0.82,3.4)
\psbezier(0.76,3.4)(0.85,3.4)(0.85,3.6)
\psbezier(0.83,3.7)(0.9,3.78)(0.94,3.85)
\psline(0.94,3.85)(0.92,4.05)
\psbezier(0.87,4.4)(0.79,4.6)(0.81,5.1)
\psbezier(0.7,5.4)(0.62,5.4)(0.6,5.7)
\psbezier(0.5,4.9)(0.5,4.8)(0.55,4)
\psbezier(0.6,3.6)(0.58,3.3)(0.57,2.7)
\psbezier(0.57,2.6)(0.55,2.5)(0.51,2.2)
\psbezier(0.45,2.0)(0.6,1.8)(0.6,1.2)
\psbezier(0.6,0.83)(0.53,0.82)(0.53,0.4)
\psbezier(0.75,0.2)(0.75,0.2)(0.75,0.05)
\psbezier(0.65,0)(0.6,0)(0.55,0)
\psbezier(0.54,0)(0.45,0.1)(0.4,0.2)
\psbezier(0.38,0.25)(0.36,0.33)(0.34,0.4)
\psline(0.34,0.4)(0.3,0.65)
\psbezier(0.32,1)(0.16,1.2)(0.18,1.8)
\psbezier(0.07,2.4)(0.05,3.6)(0,3.6)
%linkes Bein
\psbezier(-0.05,3.6)(-0.07,2.4)(-0.18,1.8)
\psbezier(-0.16,1.2)(-0.32,1)(-0.3,0.65)
\psline(-0.3,0.65)(-0.34,0.4)
\psbezier(-0.36,0.33)(-0.38,0.25)(-0.4,0.2)
\psbezier(-0.45,0.1)(-0.54,0)(-0.55,0)
\psbezier(-0.6,0)(-0.65,0)(-0.75,0.05)
\psbezier(-0.75,0.2)(-0.75,0.2)(-0.53,0.4)
\psbezier(-0.53,0.82)(-0.6,0.83)(-0.6,1.2)
\psbezier(-0.6,1.8)(-0.45,2.0)(-0.51,2.2)
\psbezier(-0.55,2.5)(-0.57,2.6)(-0.57,2.7)
\psbezier(-0.58,3.3)(-0.6,3.6)(-0.55,4)
\psbezier(-0.5,4.8)(-0.5,4.9)(-0.6,5.7)
\psbezier(-0.62,5.4)(-0.7,5.4)(-0.81,5.1)
\psbezier(-0.79,4.6)(-0.87,4.4)(-0.92,4.05)
\psline(-0.92,4.05)(-0.94,3.85)
\psbezier(-0.9,3.78)(-0.83,3.7)(-0.85,3.6)
\psbezier(-0.85,3.4)(-0.76,3.4)(-0.82,3.4)
\psbezier(-0.9,3.45)(-0.93,3.5)(-0.93,3.6)
\psbezier(-1.0,3.55)(-1.05,3.55)(-1,3.4)
\psbezier(-0.92,3.3)(-0.86,3.27)(-0.85,3.25)
\psbezier(-0.88,3.23)(-0.9,3.2)(-0.95,3.25)
\psbezier(-1.16,3.4)(-1.15,3.4)(-1.15,3.5)
\psbezier(-1.16,3.9)(-1.14,4.1)(-1.15,4.2)
%
\closepath
}
\psbezier[linewidth=0.6pt](-0.45,5.43)(-0.3,5.41)(-0.3,5.41)(-0.2,5.43)
\psbezier[linewidth=0.6pt](0.45,5.43)(0.3,5.41)(0.3,5.41)(0.2,5.43)
\psellipse[fillstyle=solid,fillcolor=black,linestyle=none](0,4.2)(0.02,0.035)
\def\AugeR{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(0.05,0)(0.04,0.004)(0.02,0.02)(0,0.02)
\psbezier(-0.02,0.02)(-0.04,0.01)(-0.05,-0.005)
\psbezier(-0.047,0)(-0.02,-0.018)(0,-0.018)
\psbezier(0.02,-0.018)(0.04,-0.006)(0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.009,0.003)(0.01,0.014)(-0.002,0.014)(-0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.004,0.003)(-0.004,0.014)(-0.012,0.014)(-0.012,0.003)
\psbezier[linewidth=0.1pt](0.05,0.01)(0.044,0.03)(-0.02,0.05)(-0.05,0.005)
\psbezier[linewidth=0.6pt](0.05,0.035)(0.044,0.05)(-0.02,0.055)(-0.05,0.04)
}
\def\AugeL{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(-0.05,0)(-0.04,0.004)(-0.02,0.02)(0,0.02)
\psbezier(0.02,0.02)(0.04,0.01)(0.05,-0.005)
\psbezier(0.047,0)(0.02,-0.018)(0,-0.018)
\psbezier(-0.02,-0.018)(-0.04,-0.006)(-0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.009,0.003)(-0.01,0.014)(0.002,0.014)(0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.004,0.003)(0.004,0.014)(0.012,0.014)(0.012,0.003)
\psbezier[linewidth=0.1pt](-0.05,0.01)(-0.044,0.03)(0.02,0.05)(0.05,0.005)
\psbezier[linewidth=0.6pt](-0.05,0.035)(-0.044,0.05)(0.02,0.055)(0.05,0.04)
}
\rput(-0.14,7.04){\psscalebox{1.55}{\AugeL}}
\rput(0.14,7.04){\psscalebox{1.55}{\AugeR}}
\rput(0,6.81){%
\psbezier[linewidth=0.6pt](-0.04,0)(0,-0.03)(0.02,-0.025)(0.04,0)
\psbezier[linewidth=0.6pt](0.035,0.28)(0.02,0.18)(0.02,0.1)(0.055,0.045)
}
\rput(0,6.72){%
\pscustom[fillstyle=solid,fillcolor=red!40,linestyle=none]{%
\psline(-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)(0.08,-0.005)
\psbezier(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\closepath
}
\psline[linewidth=0.2pt](-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)
\psbezier[linewidth=0.2pt](0.08,-0.005)(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\psbezier[linewidth=0.2pt](0.12,0.02)(0.05,-0.015)(-0.05,-0.017)(-0.12,0.02)
\psline[linewidth=0.2pt](0.128,0.012)(0.112,0.028)
\psline[linewidth=0.2pt](-0.128,0.012)(-0.112,0.028)
}
\psbezier[linewidth=0.4pt](-0.17,6.65)(-0.1,6.6)(-0.1,6.58)(-0.05,6.57)
\psbezier[linewidth=0.4pt](0.17,6.65)(0.1,6.6)(0.1,6.58)(0.05,6.57)
\rput(0,6.66){%
\psbezier[linewidth=0.6pt](-0.06,0)(-0.01,0.005)(0.02,0.005)(0.06,-0.01)}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(-0.32,7)(-0.32,7.1)(-0.37,7.1)(-0.36,7)
\psbezier(-0.35,6.95)(-0.36,6.9)(-0.345,6.85)
\psbezier(-0.325,6.82)(-0.316,6.85)(-0.32,7)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(0.32,7)(0.32,7.1)(0.37,7.1)(0.36,7)
\psbezier(0.35,6.95)(0.36,6.9)(0.345,6.85)
\psbezier(0.325,6.82)(0.316,6.85)(0.32,7)
\closepath
}
\pspolygon[fillstyle=solid,fillcolor=blue!40](-0.56,4)(-0.59,3.45)(-0.02,3.43)(0,3.52)(0.02,3.43)(0.59,3.45)(0.56,4)
\end{pspicture}

\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{article}
\usepackage{pst-transform}
\definecolor{Weiss}{rgb}{1,0.98,0.98}
\definecolor{Haut}{rgb}{1,0.894,0.769}
\definecolor{Auge}{rgb}{0.54,0.27,0.074}
\def\sapiens{\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=1.0pt]{%
% linker Unterarm
\psbezier(-1.15,4.2)(-1.2,4.9)(-1.11,5.1)(-1.05,5.2)
% linke Schulter
\psbezier(-0.95,6.8)(-0.18,6)(-0.18,6.5)
% Hals und Kopf
\psbezier(-0.18,6.8)(-0.32,6.6)(-0.32,7.1)
\psbezier(-0.32,7.34)(-0.2,7.45)(0,7.45)
\psbezier(0.2,7.45)(0.32,7.34)(0.32,7.1)
\psbezier(0.32,6.6)(0.18,6.8)(0.18,6.5)
% rechte Schulter
\psbezier(0.18,6)(0.95,6.8)(1.05,5.2)
% rechter Unterarm
\psbezier(1.11,5.1)(1.2,4.9)(1.15,4.2)
\psbezier(1.14,4.1)(1.16,3.9)(1.15,3.5)
\psbezier(1.15,3.4)(1.16,3.4)(0.95,3.25)
\psbezier(0.9,3.2)(0.88,3.23)(0.85,3.25)
\psbezier(0.86,3.27)(0.92,3.3)(1,3.4)
\psbezier(1.05,3.55)(1.0,3.55)(0.93,3.6)
\psbezier(0.93,3.5)(0.9,3.45)(0.82,3.4)
\psbezier(0.76,3.4)(0.85,3.4)(0.85,3.6)
\psbezier(0.83,3.7)(0.9,3.78)(0.94,3.85)
\psline(0.94,3.85)(0.92,4.05)
\psbezier(0.87,4.4)(0.79,4.6)(0.81,5.1)
\psbezier(0.7,5.4)(0.62,5.4)(0.6,5.7)
\psbezier(0.5,4.9)(0.5,4.8)(0.55,4)
\psbezier(0.6,3.6)(0.58,3.3)(0.57,2.7)
\psbezier(0.57,2.6)(0.55,2.5)(0.51,2.2)
\psbezier(0.45,2.0)(0.6,1.8)(0.6,1.2)
\psbezier(0.6,0.83)(0.53,0.82)(0.53,0.4)
\psbezier(0.75,0.2)(0.75,0.2)(0.75,0.05)
\psbezier(0.65,0)(0.6,0)(0.55,0)
\psbezier(0.54,0)(0.45,0.1)(0.4,0.2)
\psbezier(0.38,0.25)(0.36,0.33)(0.34,0.4)
\psline(0.34,0.4)(0.3,0.65)
\psbezier(0.32,1)(0.16,1.2)(0.18,1.8)
\psbezier(0.07,2.4)(0.05,3.6)(0,3.6)
%linkes Bein
\psbezier(-0.05,3.6)(-0.07,2.4)(-0.18,1.8)
\psbezier(-0.16,1.2)(-0.32,1)(-0.3,0.65)
\psline(-0.3,0.65)(-0.34,0.4)
\psbezier(-0.36,0.33)(-0.38,0.25)(-0.4,0.2)
\psbezier(-0.45,0.1)(-0.54,0)(-0.55,0)
\psbezier(-0.6,0)(-0.65,0)(-0.75,0.05)
\psbezier(-0.75,0.2)(-0.75,0.2)(-0.53,0.4)
\psbezier(-0.53,0.82)(-0.6,0.83)(-0.6,1.2)
\psbezier(-0.6,1.8)(-0.45,2.0)(-0.51,2.2)
\psbezier(-0.55,2.5)(-0.57,2.6)(-0.57,2.7)
\psbezier(-0.58,3.3)(-0.6,3.6)(-0.55,4)
\psbezier(-0.5,4.8)(-0.5,4.9)(-0.6,5.7)
\psbezier(-0.62,5.4)(-0.7,5.4)(-0.81,5.1)
\psbezier(-0.79,4.6)(-0.87,4.4)(-0.92,4.05)
\psline(-0.92,4.05)(-0.94,3.85)
\psbezier(-0.9,3.78)(-0.83,3.7)(-0.85,3.6)
\psbezier(-0.85,3.4)(-0.76,3.4)(-0.82,3.4)
\psbezier(-0.9,3.45)(-0.93,3.5)(-0.93,3.6)
\psbezier(-1.0,3.55)(-1.05,3.55)(-1,3.4)
\psbezier(-0.92,3.3)(-0.86,3.27)(-0.85,3.25)
\psbezier(-0.88,3.23)(-0.9,3.2)(-0.95,3.25)
\psbezier(-1.16,3.4)(-1.15,3.4)(-1.15,3.5)
\psbezier(-1.16,3.9)(-1.14,4.1)(-1.15,4.2)
%
\closepath
}
\psbezier[linewidth=0.6pt](-0.45,5.43)(-0.3,5.41)(-0.3,5.41)(-0.2,5.43)
\psbezier[linewidth=0.6pt](0.45,5.43)(0.3,5.41)(0.3,5.41)(0.2,5.43)
\psellipse[fillstyle=solid,fillcolor=black,linestyle=none](0,4.2)(0.02,0.035)
\def\AugeR{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(0.05,0)(0.04,0.004)(0.02,0.02)(0,0.02)
\psbezier(-0.02,0.02)(-0.04,0.01)(-0.05,-0.005)
\psbezier(-0.047,0)(-0.02,-0.018)(0,-0.018)
\psbezier(0.02,-0.018)(0.04,-0.006)(0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.009,0.003)(0.01,0.014)(-0.002,0.014)(-0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.004,0.003)(-0.004,0.014)(-0.012,0.014)(-0.012,0.003)
\psbezier[linewidth=0.1pt](0.05,0.01)(0.044,0.03)(-0.02,0.05)(-0.05,0.005)
\psbezier[linewidth=0.6pt](0.05,0.035)(0.044,0.05)(-0.02,0.055)(-0.05,0.04)
}
\def\AugeL{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(-0.05,0)(-0.04,0.004)(-0.02,0.02)(0,0.02)
\psbezier(0.02,0.02)(0.04,0.01)(0.05,-0.005)
\psbezier(0.047,0)(0.02,-0.018)(0,-0.018)
\psbezier(-0.02,-0.018)(-0.04,-0.006)(-0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.009,0.003)(-0.01,0.014)(0.002,0.014)(0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.004,0.003)(0.004,0.014)(0.012,0.014)(0.012,0.003)
\psbezier[linewidth=0.1pt](-0.05,0.01)(-0.044,0.03)(0.02,0.05)(0.05,0.005)
\psbezier[linewidth=0.6pt](-0.05,0.035)(-0.044,0.05)(0.02,0.055)(0.05,0.04)
}
\rput(-0.14,7.04){\psscalebox{1.55}{\AugeL}}
\rput(0.14,7.04){\psscalebox{1.55}{\AugeR}}
\rput(0,6.81){%
\psbezier[linewidth=0.6pt](-0.04,0)(0,-0.03)(0.02,-0.025)(0.04,0)
\psbezier[linewidth=0.6pt](0.035,0.28)(0.02,0.18)(0.02,0.1)(0.055,0.045)
}
\rput(0,6.72){%
\pscustom[fillstyle=solid,fillcolor=red!40,linestyle=none]{%
\psline(-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)(0.08,-0.005)
\psbezier(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\closepath
}
\psline[linewidth=0.2pt](-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)
\psbezier[linewidth=0.2pt](0.08,-0.005)(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\psbezier[linewidth=0.2pt](0.12,0.02)(0.05,-0.015)(-0.05,-0.017)(-0.12,0.02)
\psline[linewidth=0.2pt](0.128,0.012)(0.112,0.028)
\psline[linewidth=0.2pt](-0.128,0.012)(-0.112,0.028)
}
\psbezier[linewidth=0.4pt](-0.17,6.65)(-0.1,6.6)(-0.1,6.58)(-0.05,6.57)
\psbezier[linewidth=0.4pt](0.17,6.65)(0.1,6.6)(0.1,6.58)(0.05,6.57)
\rput(0,6.66){%
\psbezier[linewidth=0.6pt](-0.06,0)(-0.01,0.005)(0.02,0.005)(0.06,-0.01)}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(-0.32,7)(-0.32,7.1)(-0.37,7.1)(-0.36,7)
\psbezier(-0.35,6.95)(-0.36,6.9)(-0.345,6.85)
\psbezier(-0.325,6.82)(-0.316,6.85)(-0.32,7)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(0.32,7)(0.32,7.1)(0.37,7.1)(0.36,7)
\psbezier(0.35,6.95)(0.36,6.9)(0.345,6.85)
\psbezier(0.325,6.82)(0.316,6.85)(0.32,7)
\closepath
}
\pspolygon[fillstyle=solid,fillcolor=blue!40](-0.56,4)(-0.59,3.45)(-0.02,3.43)(0,3.52)(0.02,3.43)(0.59,3.45)(0.56,4)
}


\pagestyle{empty}

\begin{document}

\begin{center}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-2,-1)(2,9)
\psset{curvature={1 0.5 3}}\psgrid(-2,-1)(2,9)\sapiens
\end{pspicture}}
\pscisaillement[cisX=20,cisY=20]{\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-2,-1)(2,9)
\psgrid(-2,-1)(2,9)%
\psset{curvature={1 0.5 3}}\sapiens
\pnode(-1,0){A}\pnode(1,0){B}
\SymPlan(A)(B){\sapiens\psgrid(-2,-1)(2,9)}
\end{pspicture}}}
\end{center}

\begin{center}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-3,-1)(3,9)
\psset{curvature={1 0.5 3}}
\psscalebox{2.5 0.5}{\sapiens}
\end{pspicture}}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-1,-1)(1,9)
\psset{curvature={1 0.5 3}}
\psscalebox{0.25 1}{\sapiens}
\end{pspicture}}

\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}[showgrid](-2,-1)(3,9)
\psset{curvature={1 0.5 3}}
\sapiens
\psHomothetie(3,0){0.5}{\sapiens}
\psHomothetie(3,0){0.5}{\psHomothetie(3,0){0.5}{\sapiens}}
\end{pspicture}}
\end{center}
\end{document}



samedi 6 juillet 2013

Un schéma pour illustrer l'énergie de liaison

Un schéma pour illustrer l'énergie de liaison, dessiné avec PSTricks par Thomas Söll.

Le code :

\documentclass[12pt,fleqn,dvipsnames]{article}
\usepackage{amsmath}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{pst-slpe,pst-grad,pst-node,multido}

\begin{document}

\section*{Illustration de l'énergie de liaison}

\def\Kernradius{7.5pt}
\def\KernabstandHe{7.5pt}
\def\ColorProton{BrickRed}
\def\ColorNeutron{gray!60}
\newpsstyle{proton}{linecolor=BrickRed!80,slopebegin=red!30,sloperadius=0.25,linewidth=0.1pt,slopecenter=0.65 0.6,linestyle=solid}
\newpsstyle{neutron}{linecolor=gray!40,slopebegin=white,sloperadius=0.3,linewidth=0.1pt,slopecenter=0.65 0.6,linestyle=solid}
\newpsstyle{atom1}{slopebegin=cyan!90,sloperadius=5.5,slopecenter=0.5 0.5,linestyle=none}
\newpsstyle{atom}{slopebegin=NavyBlue!50,sloperadius=5.5,slopecenter=0.5 0.5,linestyle=none}

\def\Proton{\psBall[style=proton](0,0){\ColorProton}{\Kernradius}}
\def\Neutron{\psBall[style=neutron](0,0){\ColorNeutron}{\Kernradius}}

\def\AtomKernHe{%
\multido{\iAngle=40+180}{2}{%
\rput(\KernabstandHe;\iAngle){\Proton}%
}%
\multido{\iAngle=130+180}{2}{%
\rput(\KernabstandHe;\iAngle){\Neutron}%
}%
}%

\begin{center}
\begin{pspicture}[showgrid=false](-4.25,-3.6)(4,5)
\begin{psclip}{\psframe[linestyle=none](-4.25,-3.4)(4,5)}
\pscustom[fillstyle=solid,fillcolor=orange!60!gray!60,linearc=0.6]{%
\psline(-4.75,4)(0,4)(1,0)(2,0)(3,4)(4.75,4)(4.75,-3.5)(-4.75,-3.5)
\closepath
}
\end{psclip}
\rput(-3.6,4.28){\Proton}
\rput(-3.0,4.28){\Proton}
\rput(-2.4,4.28){\Neutron}
\rput(-1.8,4.28){\Neutron}
\rput(1.5,0.5){\AtomKernHe}

\pcline[nodesepA=0,nodesepB=0,linestyle=dashed,dash=5pt 3pt,linewidth=0.6pt](-1.5,4.28)(1,4.28)
\pcline[nodesepA=0,nodesepB=0,linestyle=dashed,dash=5pt 3pt,linewidth=0.6pt](0,0.5)(1,0.5)
\pcline[nodesepA=0,nodesepB=0,linestyle=dashed,dash=5pt 3pt,linewidth=0.6pt](-1.5,-3.4)(1,-3.4)
{\psset{arrowinset=0.05,arrowscale=1.6,arrowlength=1.8}%
\pcline[linewidth=0.6pt]{<->}(-0.9,-3.4)(-0.9,4.28)
\ncput*[fillcolor=orange!60!gray!60]{$E_{\text{pot,1}}$}
\pcline[linewidth=0.6pt]{<->}(0.4,-3.4)(0.4,0.5)
\ncput*[fillcolor=orange!60!gray!60]{$E_{\text{pot,2}}$}
\pcline[linewidth=0.6pt]{<->}(0.4,0.5)(0.4,4.28)
\ncput{\psframebox[fillstyle=gradient,gradend=orange!60!gray!60,gradbegin=white,gradmidpoint=0,gradangle=100,linestyle=none]{%
$\Delta E_{\text{pot}}$}}

\uput{0.6}[180](-1,-3.45){$E_{\text{pot}} = 0$}
}
\end{pspicture}
\end{center}

\end{document}

Voyage dans le cœur du réacteur d'une centrale nucléaire avec Thomas Söll

Le cœur du réacteur d'une centrale nucléaire illustré avec PSTricks par Thomas Söll.
Le cœur du réacteur chargé dans une vue de dessus :
L'ensemble des 72 barres de combustible constituant un élément de combustible. Qui sont à leur tour au nombre de 840 dans le cœur du réacteur, pour un total d'environ 150 tonnes de dioxyde d'uranium.

Le crayon combustible est entouré par un manchon de Zircaloy (alliage de zirconium) avec une épaisseur de paroi de 0,65 mm. Les pastilles de dioxyde d'uranium ont été comprimées et frittées. On récupère les gaz de fission qui sont constitués de gaz nobles et des produits de fission volatils.

Les fichiers (Brennelemente-2.pdf Brennelemente-2.tex) et les fichiers originaux de Thomas (Brennelemente.pdf Brennelemente.tex) sont dans le dossier :

Le code :

\documentclass[12pt,dvipsnames]{article}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[sfmath,frenchstyle]{kpfonts}
\usepackage[a4paper,margin=2cm]{geometry}

\parindent0pt
\parskip4pt

\usepackage[rgb]{pstricks}
\usepackage{pst-grad,pst-node,multido}
\usepackage{pst-coil}

\newcommand{\Zylinder}[9]{%  #1 L\"{a}nge, #2 Radius, #3 gradbegin, #4 gradend, #5 gradmidpoint
\pscustom[dimen=#9,fillstyle=gradient,gradbegin=#3,gradend=#4,gradmidpoint=#5,gradangle=90,linecolor=#6,linewidth=#7,linestyle=#8]{%
\psellipticarc(0,0)(!#2 #2 0.3 mul){180}{360}
\psellipticarcn(0,#1)(!#2 #2 0.3 mul){0}{-180}
\closepath
}
\psellipse[fillstyle=solid,fillcolor=#6,linestyle=none](0,#1)(!#2 #2 0.3 mul)
}

\definecolor{TextA}{rgb}{0.2,0.402,0.333}% Pfeile Medium Aquamarine

\begin{document}

\section*{Reaktorkern}

Blick von oben in den beladenen Reaktorkern

\begin{pspicture}[showgrid=false](-6,-6)(6,6)
\pscircle[fillstyle=gradient,gradbegin=black!90!brown!90,gradend=black!40!brown!10,gradmidpoint=0.65,gradangle=45,%
linecolor=black!40,linewidth=0.5pt,linestyle=solid](0,0){5.9}
\pscircle[fillstyle=gradient,gradbegin=black!90!cyan!90,gradend=black!40!cyan!10,gradmidpoint=0.67,gradangle=45,%
linecolor=black!40,linewidth=0.5pt,linestyle=solid](0,0){5.3}
\pscircle[fillstyle=solid,fillcolor=black,linestyle=solid](0,0){4.7}

\def\Brennelement{%
\psframe[fillstyle=solid,fillcolor=cyan!90!black!40,linewidth=0.3pt](-0.25,-0.25)(0.25,0.25)
\pspolygon[fillstyle=solid,fillcolor=black,linestyle=none](-0.19,-0.13)(-0.19,0.13)(-0.13,0.19)(0.13,0.19)(0.19,0.13)(0.19,-0.13)(0.13,-0.19)(-0.13,-0.19)
\psframe[fillstyle=solid,fillcolor=black,linestyle=none](-0.24,-0.24)(-0.19,-0.19)
\psframe[fillstyle=solid,fillcolor=black,linestyle=none](-0.24,0.24)(-0.19,0.19)
\psframe[fillstyle=solid,fillcolor=black,linestyle=none](0.24,-0.24)(0.19,-0.19)
\psframe[fillstyle=solid,fillcolor=black,linestyle=none](0.24,0.24)(0.19,0.19)
\multido{\rB=0+30}{6}{%
\rput{\rB}(0,0){\pcline[linecolor=cyan!90!black!40,linewidth=0.5pt](-0.24,0)(0.24,0)}
}
\pscircle[fillstyle=solid,fillcolor=black,linecolor=cyan!90!black!40,linewidth=0.7pt](0,0){0.06}
\pscircle[linecolor=black,linewidth=0.3pt](0,0){0.064}}

\multido{\rD=-3+0.5}{13}{%
\multido{\rC=-2.5+0.5}{11}{%
\rput(\rC,\rD){\Brennelement}
}}

\multido{\rD=-1.5+0.5}{7}{%
\rput(-3.5,\rD){\Brennelement}
}
\multido{\rD=-2.5+0.5}{11}{%
\rput(-3.0,\rD){\Brennelement}
}

\multido{\rD=-1.5+0.5}{7}{%
\rput(3.5,\rD){\Brennelement}
}
\multido{\rD=-2.5+0.5}{11}{%
\rput(3.0,\rD){\Brennelement}
}

\multido{\rD=-1.5+0.5}{7}{%
\rput(\rD,-3.5){\Brennelement}
}
\multido{\rD=-2.5+0.5}{11}{%
\rput(\rD,-3){\Brennelement}
}

\multido{\rD=-1.5+0.5}{7}{%
\rput(\rD,3.5){\Brennelement}
}
\multido{\rD=-2.5+0.5}{11}{%
\rput(\rD,3){\Brennelement}
}

\end{pspicture}

\section*{Brennelement}
\begin{minipage}[t]{10cm}
  Zusammenfassung von 72 Brennst\"{a}ben (KKW Kr\"{u}mmel) zu einem Brennelement. Davon befinden sich wiederum 840 im Reaktorkern mit insgesamt etwa 150 Tonnen Urandioxid
%
\end{minipage}
%
\begin{pspicture}[showgrid=false,shift=-25](-1,0)(3,25.5)
{\psset{xunit=0.065,yunit=0.065}%
\def\BrennstabA{%
\rput{0}(0,-0.8){\Zylinder{0.3}{0.38}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,-0.5){\Zylinder{0.3}{0.25}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,-0.2){\Zylinder{0.2}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,0){\Zylinder{390}{0.5}{black!90!blue!80}{cyan!10}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,390){\Zylinder{0.2}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,390.2){\Zylinder{0.5}{0.25}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,390.7){\Zylinder{0.6}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!70!blue!80}{1pt}{none}{middle}}
%
}

\multido{\rB=5.25+1.5}{9}{%
\rput(\rB,5.25){\BrennstabA}}
\multido{\rB=4.5+1.5}{9}{%
\rput(\rB,4.5){\BrennstabA}}
\multido{\rB=3.75+1.5}{9}{%
\rput(\rB,3.75){\BrennstabA}}
\multido{\rB=3+1.5}{9}{%
\rput(\rB,3){\BrennstabA}}
\multido{\rB=2.25+1.5}{9}{%
\rput(\rB,2.25){\BrennstabA}}
\multido{\rB=1.5+1.5}{9}{%
\rput(\rB,1.5){\BrennstabA}}
\multido{\rB=0.75+1.5}{9}{%
\rput(\rB,0.75){\BrennstabA}}
\multido{\rB=0+1.5}{9}{%
\rput(\rB,0){\BrennstabA}}

\def\Halter{%
\pspolygon[fillstyle=gradient,gradbegin=black!90!cyan!90,gradend=black!40!cyan!10,gradmidpoint=0.67,gradangle=90,%
linecolor=black!60,linewidth=0.5pt,linestyle=none]%
(-0.3,0)(12.5,0)(18.1,5.25)(18.1,10.25)(12.5,5)(-0.3,5)}

\multido{\rA=5+62.5}{7}{%
\rput(-0.32,\rA){%
\Halter \psline[linecolor=black!60,linewidth=0.5pt,linestyle=none](12.5,0)(18.1,5.25)}}
}
\end{pspicture}

\section*{Brennstab}

Der Brennstab ist von einer Zirkaloy-H\"{u}lle (Zirkonium-Legierung) mit einer Wandst\"{a}rke von $0,65\,\text{mm}$ umgeben.
Die Urandioxid-Tabletten wurden gepresst, gesintert und geschliffen. Im Spaltgasraum sammeln sich Edelgase und die leicht fl\"{u}chtigen Spaltprodukte.

\begin{pspicture}[showgrid=false](-2,-2)(4,15)
\def\Brennstab{%
\rput{0}(0,-0.8){\Zylinder{0.3}{0.38}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,-0.5){\Zylinder{0.3}{0.25}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,-0.2){\Zylinder{0.2}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,0){\Zylinder{13}{0.5}{black!90!blue!80}{cyan!10}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,0){\Zylinder{1}{0.35}{black!90!orange!80}{orange!10}{0.3}{black!90!orange!80}{1pt}{solid}{middle}}
\rput{0}(0,1){\Zylinder{0.4}{0.35}{black!70!green!80}{green!10}{0.3}{black!70!green!80}{1pt}{solid}{middle}}
\multido{\rB=1.4+0.6}{14}{%
\rput(0,\rB){%
\Zylinder{0.6}{0.35}{black!50!red!90}{red!10}{0.3}{black!70!red!80}{1pt}{solid}{middle}
}
}
\rput{0}(0,9.8){\Zylinder{0.4}{0.35}{black!70!green!80}{green!10}{0.3}{black!70!green!80}{1pt}{solid}{middle}}
\pscoil[coilaspect=30,coilarm=0.02cm,coilwidth=6mm,coilheight=0.35,linewidth=1pt,linecolor=orange](0,10.2)(0,13)
\rput{0}(0,13){\Zylinder{0.2}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,13.2){\Zylinder{0.5}{0.25}{black!90!blue!80}{black!60!blue!50}{0.3}{black!90!blue!80}{1pt}{none}{middle}}
\rput{0}(0,13.7){\Zylinder{0.6}{0.5}{black!90!blue!80}{black!60!blue!50}{0.3}{black!70!blue!80}{1pt}{none}{middle}}
%
\def\break{%
\pspolygon[fillstyle=solid,fillcolor=white,linestyle=none]%
(-0.5,0.2)(-0.3,0.5)(-0.2,0.35)(0,0.57)(0.2,0.4)(0.4,0.55)(0.5,0.6)(0.5,0.2)(0.4,0.15)(0.2,0)(0,0.17)(-0.2,-0.05)(-0.3,0.1)(-0.5,-0.2)
}
\rput(0,11.5){\break}
\rput(0,4.1){\break}
%
}
\rput(0,0){\Brennstab}
\pcline[arrowlength=1.8,arrowscale=1.6,arrowinset=0.06,tbarsize=8pt]{|<->|}(-1.5,-0.8)(-1.5,14.3)
\ncput*[nrot=:U]{\small $4,17\,\text{m}$}

\pcline[arrowlength=1.8,arrowscale=1.6,arrowinset=0.06,tbarsize=6pt]{|<->|}(-0.5,-1.2)(0.5,-1.2)
\nbput[labelsep=7pt]{\small ca. $11\,\text{mm}$}

\rput[l](1.5,12.4){\small\shortstack[l]{Enceinte\\ des gaz de fission}}
\pcline(0.4,12.38)(1.4,12.38)
\rput[l](1.5,11){\small \textcolor{orange!90!black!90}{Ressort}}
\pcline(0.35,11)(1.4,11)
\rput[l](1.5,10){\small \textcolor{green!60!black!90}{\shortstack[l]{Pastille isolante\strut\\[-5pt] de $\text{Al}_{2}\text{O}_{3}$\strut}}}
\pcline(0.35,10)(1.4,10)
\rput[l](1.5,8){\small \textcolor{red!90!black!90}{\shortstack[l]{Pastille d'oxyde\strut\\[-5pt] d'uranium $\text{U}\text{O}_{2}$\strut}}}
\pcline(0.35,8.1)(1.4,8.1)
\rput[l](1.5,1.1){\small \textcolor{green!60!black!90}{\shortstack[l]{Pastille isolante\strut\\[-5pt] de $\text{Al}_{2}\text{O}_{3}$\strut}}}
\pcline(0.4,1.1)(1.4,1.1)
\rput[l](1.5,0.3){\small \textcolor{brown!90!black!90}{Manchon support}}
\pcline(0.4,0.3)(1.4,0.3)
\end{pspicture}

\end{document}

vendredi 5 juillet 2013

L'expérience de diffraction des électrons par Davisson et Germer illustrée avec PSTricks par Thomas Söll

L'expérience de diffraction des électrons par Davisson et Germer joliment illustrée par Thomas Söll. Le texte du document est en allemand.


Les fichiers ((Elektronenbeugung-2.tex Elektronenbeugung-2.pdf) et les fichiers originaux :
(Elektronenbeugung.tex Elektronenbeugung.pdf) sont dans le répertoire :

Le code :

\documentclass[12pt,fleqn,dvipsnames]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[sfmath,frenchstyle]{kpfonts}

\parindent0pt
\parskip4pt

%\usepackage[dvipsnames]{xcolor} %% Farben sind im Dokument xcolor.pdf definiert
\usepackage[rgb]{pstricks}
\usepackage{pst-eucl,pstricks-add,pst-grad,pst-coil,pst-circ,pst-slpe}

\newcommand{\Zylinder}[9]{%  #1 L\"{a}nge, #2 Radius, #3 gradbegin, #4 gradend, #5 gradmidpoint
\pscustom[dimen=#9,fillstyle=gradient,gradbegin=#3,gradend=#4,gradmidpoint=#5,gradangle=90,linecolor=#6,linewidth=#7,linestyle=#8]{%
\psellipticarc(0,0)(!#2 #2 0.3 mul){180}{360}
\psellipticarcn(0,#1)(!#2 #2 0.3 mul){0}{-180}
\closepath
}
\psellipse[fillstyle=solid,fillcolor=#6,linestyle=none](0,#1)(!#2 #2 0.3 mul)
}

\definecolor{TextA}{rgb}{0.2,0.402,0.333}% Pfeile Medium Aquamarine

\begin{document}

\newpage
\section*{Elektronenbeugungsr\"{o}hre}

Der experimentelle Nachweis der Elektronenbeugung an Kristallen gelang 1927 C. J. Davisson (1881 -- 1958) und L. H. Germer (1886 -- 1971)

Louis De Broglie (1892 -- 1987) hatte 1923 als Hypothese formuliert, dass sich Materie mit Elementen der Wellentheorie beschreiben lassen sollte und aus theoretischen \"{U}berlegungen f\"{u}r die Wellenl\"{a}nge (nach ihm als de-Broglie-Wellenl\"{a}nge bezeichnet) $\lambda = \frac{h}{m\cdot v} = \frac{h}{p}$ hergeleitet. 1961 wurde das Doppelspaltexperiment mit Elektronen durch Claus J\"{o}nsson (1931 -- ) an k\"{u}nstlich hergestellten Feinspalten durchgef\"{u}hrt.

\begin{pspicture}[showgrid=false](-1,-1.5)(13,6.5)
\definecolor{Kristallblau}{rgb}{0.1176,0.5647,1}% Dodger blau
\definecolor{RandFarbe}{rgb}{0.1176,0.5647,1}%{0,0.75,1}% DeepSkyBlue

%%R\"{o}hre
%\psellipse[fillstyle=solid,fillcolor=Kristallblau!50,opacity=0.3,linestyle=dashed](1.5,2.5)(0.35,1.5)

\pscustom[fillstyle=gradient,gradbegin=cyan!20,gradend=white,gradmidpoint=0.45,gradangle=0]{%
\psellipticarcn(1.5,2.5)(0.35,1.5){270}{90}
\psellipticarcn(10,2.5)(3,3.75){151.7}{-151.7}
%\psarcn(11,2.5){3.5}{154.623}{-154.623}
\closepath%
}
\psellipse[fillstyle=solid,fillcolor=Kristallblau!50,opacity=0.3,linewidth=0.4pt,linestyle=none](1.5,2.5)(0.35,1.5)
\psellipticarcn[linewidth=1pt](1.5,2.5)(0.35,1.5){270}{90}
\psellipse[fillstyle=solid,fillcolor=Kristallblau!50,opacity=0.3,linewidth=0.4pt,linestyle=none](7.3,2.5)(0.35,1.5)

\psellipticarcn[linewidth=1.8pt,linecolor=SeaGreen](12,2.5)(0.5,2.75){270}{90}
\psellipticarc[linewidth=1.5pt,linecolor=SeaGreen!50](12,2.5)(0.5,2.75){270}{90}

\pscustom[fillstyle=solid,linestyle=none,fillcolor=SeaGreen!30]{%
\psellipticarcn(12.36,2.5)(0.4,2.2){270}{90}
\psellipticarcn(10,2.5)(3,3.75){30}{-30}
\closepath%
}

%%Heiz
\pscoil[coilarm=0.075cm,coilwidth=3mm,coilheight=0.3,linewidth=0.5pt,linecolor=orange](2.5,2.2)(2.5,2.8)
\psline[arrowscale=1](2.5,2.8)(2.5,3)(0.5,3)
\psline[arrowscale=1](2.5,2.2)(2.5,2)(0.5,2)
\psellipse[fillstyle=solid,fillcolor=black](1.5,3)(0.03,0.04)
\psellipse[fillstyle=solid,fillcolor=black](1.5,2)(0.03,0.04)
\battery[labeloffset=0.85](0.5,2)(0.5,3){$U_{\text{H}}$}
\psline[arrowscale=1]{*-}(0.5,2)(0.5,0)
\battery[labeloffset=.85](4.5,0)(0.5,0){$U_{\text{a}}$}
\psline(4.5,0)(4.5,2)
\psline[arrowscale=1]{*-}(2,2)(2,1.5)(3.2,1.5)(3.2,2)

\rput{-90}(2.85,2.5){\Zylinder{0.75}{0.5}{black!90!cyan!80}{gray!10}{0.3}{black!90!cyan!80}{1pt}{none}{middle}}
\rput{-90}(2.85,2.5){%
\psellipse[fillstyle=gradient,gradbegin=black!90!cyan!80,gradend=gray!10,gradmidpoint=0.65,gradangle=90,linewidth=0.3pt,linecolor=black!85](0,0.75)(!0.48 dup 0.3 mul)}
\psframe[fillstyle=gradient,gradbegin=red!10,gradend=red!70,gradmidpoint=0.5,gradangle=0,linestyle=none,framearc=0.3](3.47,2.45)(4.5,2.55)
\rput{-90}(4.45,2.5){\Zylinder{0.1}{0.5}{black!90!cyan!80}{gray!10}{0.3}{black!90!cyan!80}{1pt}{none}{middle}}
\rput{-90}(4.45,2.5){%
\psellipse[fillstyle=gradient,gradbegin=black!90!cyan!80,gradend=gray!10,gradmidpoint=0.65,gradangle=90,linewidth=0.3pt,linecolor=black!85](0,0.1)(!0.2 dup 0.3 mul)}
\psframe[fillstyle=gradient,gradbegin=red!10,gradend=red!70,gradmidpoint=0.5,gradangle=0,linestyle=none,framearc=0.3](4.51,2.45)(7.4,2.55)
\psellipse[fillstyle=solid,fillcolor=Kristallblau!50,opacity=0.3,linewidth=0.4pt,linestyle=none](7.3,2.5)(0.35,1.5)
\psellipticarcn[linewidth=0.5pt](7.27,2.5)(0.35,1.5){270}{90}

\rput{-90}(7.3,2.5){\Zylinder{0.07}{0.6}{black!90!cyan!80}{gray!10}{0.3}{black!90!cyan!80}{1pt}{none}{middle}}
\psline[linecolor=red,linewidth=1.2pt](7.4,2.5)(12.7,4)
\psline[linewidth=0.6pt,linestyle=dashed](7.4,2.5)(13,2.5)
\psarc[arrows=<->,arrowscale=1.3,arrowinset=0.05](7.4,2.5){2.5}{0}{16.44}
\uput{1.7}[8.22](7.4,2.5){\small $2\alpha$}

\psellipticarcn[linewidth=1.8pt,linecolor=SeaGreen](12.36,2.5)(0.4,2.2){270}{90}
\psellipticarc[linewidth=1.5pt,linecolor=SeaGreen!50](12.36,2.5)(0.4,2.2){270}{90}
\psellipticarcn[linewidth=1.8pt,linecolor=SeaGreen](12.7,2.5)(0.3,1.5){270}{90}
\psellipticarc[linewidth=1.5pt,linecolor=SeaGreen!50](12.7,2.5)(0.3,1.5){270}{90}
\psellipticarcn[fillstyle=solid,fillcolor=SeaGreen,linestyle=none](12.98,2.5)(0.12,0.28){270}{90}
\psellipticarcn[fillstyle=solid,fillcolor=SeaGreen,linecolor=SeaGreen,linewidth=1.7pt](12.92,2.5)(0.1,0.28){80}{-80}

\pscustom[linewidth=1pt]{%
\psellipticarcn(1.5,2.5)(0.35,1.5){270}{90}
\psellipticarcn(10,2.5)(3,3.75){151.7}{-151.7}
%\psarcn(11,2.5){3.5}{154.623}{-154.623}
\closepath%
}

\psline(2.6,2.72)(2.6,5)
\uput[90](2.6,5){Cathode}
\psline(4.5,3)(4.5,5)
\uput[90](4.5,5){Anode}
\psline(7.335,1.9)(6.5,1.2)(6.5,0)
\uput[-90](6.5,0){\shortstack[c]{Écran de \\graphite mince}}

\end{pspicture}

\section*{Netzebenen im Graphit}

Der Winkel des einfallenden Strahles wird nicht, wie in der Optik \"{u}blich, gegen das Lot, sondern gegen die Netzebene gemessen. Der einfallende Strahl wird durch die Reflexion an den Netzebenen um den doppelten Winkel abgelenkt.

\def\FM{\psBall[linecolor=blue!50,slopebegin=blue!20,sloperadius=0.25,linewidth=0.1pt,slopecenter=0.65 0.6,linestyle=solid](0,0){blue}{8pt}}
\def\LiP{\psBall[linecolor=black!60,slopebegin=gray!20,sloperadius=0.09,linewidth=0.1pt,slopecenter=0.65 0.6,linestyle=solid](0,0){black!80}{3.5pt}}

\definecolor{Myblau}{rgb}{0.1176,0.5647,1}% Dodger blau
\definecolor{Mygreen}{rgb}{0.196,0.804,0.196}% LimeGreen
\definecolor{Mypurple}{rgb}{0.627,0.125,0.941}% Purple
\definecolor{Mynavajo}{rgb}{0.545,0.475,0.369}% 139 121 94


{\psset{unit=1.75cm}
\begin{pspicture}[showgrid=false](1,0.5)(11,5)
\def\wi1{30}
\def\laenge{4}
\pnode(1,3){E1}
\pnode(11,3){E2}
\pnode(1,2){E3}
\pnode(11,2){E4}

\pnode(6,3){S1}
\pnode(6,2){S2}

\rput(S1){\pnode(!\laenge\space 180 \wi1\space sub PtoC){T1}}
\rput(S1){\pnode(\laenge;\wi1){T2}}
\rput(S2){\pnode(!\laenge\space 180 \wi1\space sub PtoC){T3}}
\rput(S2){\pnode(\laenge;\wi1){T4}}

\psIntersectionPoint(T3)(S2)(E1)(E2){S3}
\psIntersectionPoint(T4)(S2)(E1)(E2){S4}
\psIntersectionPoint(T4)(S2)(T1)(S1){S5}
\psIntersectionPoint(T2)(S1)(T3)(S2){S6}

\pstProjection[PointName=none,PointSymbol=none]{T3}{S2}{S1}[W1]
\pstProjection[PointName=none,PointSymbol=none]{T4}{S2}{S1}[W2]

\psLNode(T1)(S1){1.75}{R1}
\psLNode(T3)(S2){1.64}{R2}
\pscustom[fillstyle=solid,opacity=0.3,fillcolor=yellow,linestyle=none]{%
\psline(R1)(T1)
\pslineByHand[VarStepEpsilon=1.5,varsteptol=1](T1)(T3)
\psline(T3)(R2)
\pslineByHand[VarStepEpsilon=1.5,varsteptol=1](R2)(R1)
\psline(R1)(T1)
}

\pscustom[fillstyle=solid,opacity=0.3,fillcolor=orange!40,linestyle=none]{%
\pslineByHand[VarStepEpsilon=1.5,varsteptol=0.6](T2)(T4)
\psline(T4)(S2)(S1)(T2)
}

\multido{\rA=1+1}{3}{%
\pcline[linecolor=cyan,linewidth=0.5pt,nodesep=-0.4](2,\rA)(10,\rA)
\multido{\rB=2+1}{9}{%
\rput(\rB,\rA){\LiP}
}
}
\pcline[arrowlength=1.5,arrowscale=1.2,arrowinset=0.02,tbarsize=8pt,offset=-.4]{<->}(10,1)(10,2)
\ncput*{\small $d$}
\pcline[arrowlength=1.5,arrowscale=1.2,arrowinset=0.02,tbarsize=8pt,offset=-.4]{<->}(10,2)(10,3)
\ncput*{\small $d$}

{\psset{linecolor=red,ArrowInside=->,ArrowInsidePos=0.25,arrowlength=1.6,arrowscale=1.2,arrowinset=0.04}%
\pcline(T1)(S1)
\pcline(T3)(S2)
\pcline[ArrowInsidePos=0.75](S1)(T2)
\pcline[ArrowInsidePos=0.75](S2)(T4)
}
\pcline[linecolor=red,linestyle=dashed,nodesepB=-3](T1)(S1)
\pcline[linecolor=red,linestyle=dashed,nodesepB=-2.5](T3)(S2)

\psarc[linecolor=Myblau,linewidth=0.6pt,arrowinset=0.04,arrowscale=1.1,arrowlength=1.6]{<->}(S3){0.8}{!180 \wi1\space sub}{180}
\uput{0.42}[!180 \wi1\space 2 div sub]{0}(S3){\small\textcolor{Myblau}{$\alpha_{1}^{}$}}
%\psarc[linecolor=Myblau,linewidth=0.6pt,arrowinset=0.04,arrowscale=1.1,arrowlength=1.6]{<->}(S2){1.5}{!180 \wi1\space sub}{180}
%\uput{0.9}[!180 \wi1\space 2 div sub]{0}(S2){\small\textcolor{Myblau}{$\alpha_{1} $}}

\psarc[linecolor=Myblau,linewidth=0.6pt,arrowinset=0.04,arrowscale=1.1,arrowlength=1.6]{<->}(S4){0.8}{0}{!\wi1\space}
\uput{0.42}[!\wi1\space 2 div]{0}(S4){\small\textcolor{Myblau}{$\alpha_{1}^{}$}}
\psarc[linecolor=Myblau,linewidth=0.6pt,arrowinset=0.04,arrowscale=1.1,arrowlength=1.6]{<->}(S5){0.8}{!\wi1\space neg}{!\wi1\space}
\uput{0.24}[0]{0}(S5){\small\textcolor{Myblau}{$2\cdot \alpha_{1}^{}$}}


\psline[linecolor=Mypurple](S1)(S2)
\psline[linecolor=Mypurple](S1)(W1)
\psline[linecolor=Mypurple](S1)(W2)

\pcline[linecolor=Mygreen](W1)(S2)
\pcline[linecolor=Mygreen,offset=-0.15,arrowlength=1.4,arrowscale=1.1,arrowinset=0.02,tbarsize=8pt]{|<->|}(W1)(S2)
\nbput[labelsep=1pt,nrot=:U]{\scriptsize \textcolor{Mygreen}{$\Delta s_{\scriptscriptstyle 1}^{}$}}
\pcline[linecolor=Mynavajo](S2)(W2)
\pcline[linecolor=Mynavajo,offset=-0.15,arrowlength=1.4,arrowscale=1.1,arrowinset=0.02,tbarsize=8pt]{|<->|}(S2)(W2)
\nbput[labelsep=1pt,nrot=:U]{\scriptsize \textcolor{Mynavajo}{$\Delta s_{\scriptscriptstyle 2}^{}$}}

\psset{RightAngleType=german,RightAngleSize=0.18}
\pstRightAngle{S1}{W2}{S2}
\pstRightAngle{S2}{W1}{S1}
\pstMarkAngle[MarkAngleRadius=0.5,LabelSep=0.41]{W1}{S1}{S2}{\scriptsize $\alpha_{\scriptscriptstyle 1}^{}$}
\pstMarkAngle[MarkAngleRadius=0.55,LabelSep=0.43]{S2}{S1}{W2}{\scriptsize $\alpha_{\scriptscriptstyle 1}^{}$}

\rput[r]{\wi1}(9.25,4.4){1er maximum}
%1er maximum
\end{pspicture}
}

\end{document}

Structure externe d'un alternateur de centrale par Thomas Söll

C'est la structure d'un alternateur industriel qui comprend le support, le stator, le rotor et l'arbre de la turbine.
Réalisé avec le package pst-solides3d(extension de PStTricks), c'est un exercice intéressant qui utilise plusieurs fonctionnalités du package.
Comme la résolution choisie par Thomas est assez élevée, les calculs sont très longs et il vaut mieux enregistrer les fichiers de données du solide : sommets, faces et couleurs. Le solide est constitué de 5 parties :

1- le support qui est formé de deux bases "prismatiques" :

\begin{pspicture}[showgrid](-2,-3)(9,2)
\psset{viewpoint=100 120 20 rtp2xyz,Decran=100}
\defFunction{F}(t){t cos 2.5 mul neg}{t sin 2.5 mul 1.7678 sub}{}
\defFunction{G}(t){t cos neg 3 add}{t sin}{}
\defFunction{H}(t){t cos 3 sub}{t sin}{}
% Support
\psSolid[object=prisme,h=1.5,RotX=-90,ngrid=1 18,resolution=15,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+](-2,-8.5,0)
\psSolid[object=prisme,h=1.5,RotX=-90,ngrid=1 18,resolution=15,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+](-2,-2,0)
\end{pspicture}

2- le stator : gros cylindre, le rotor et l'arbre de la turbine :
\begin{pspicture}(-9,-6)(2,4)
\psset{viewpoint=100 120 20 rtp2xyz,Decran=100}
\psgrid[subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=5pt](-9,-6)(2,3)
% rotors arrieres
\psSolid[object=cylindre,h=1.2,r=0.3,RotX=-90,ngrid=1 36](0,-1.7,0)
\psSolid[object=cylindre,h=0.5,r=0.7,RotX=-90,ngrid=1 36](0,-0.5,0)
% stator
\psSolid[object=cylindre,h=9,r=2.5,RotX=-90,ngrid=5 36]
% rotors avant
\psSolid[object=cylindre,h=0.5,r=0.7,RotX=-90,ngrid=1 36](0,9,0)
\psSolid[object=cylindre,h=1.2,r=0.3,RotX=-90,ngrid=1 36](0,9.5,0)
\end{pspicture}

Tous ces éléments sont fusionnés :
La première partie consistera à faire les calculs pour enregistrer les données :

\def\Generator{% enregistrement des fichiers de données
\begin{pspicture}[showgrid=false](-5,-5)(5,5)
\psset{viewpoint=100 120 15 rtp2xyz,Decran=100,lightsrc=100 155 50 rtp2xyz,solidmemory,action=none,grid=true}
\defFunction{F}(t){t cos 2.5 mul neg}{t sin 2.5 mul 1.7678 sub}{}
\defFunction{G}(t){t cos neg 3 add}{t sin}{}
\defFunction{H}(t){t cos 3 sub}{t sin}{}
%\psSolid[object=grille,base=-8 -1 -4 5,hue=0.6 0.5,grid=false,action=draw**](0,0,0)%
\psSolid[object=cylindre,h=0.5,r=0.7,fillcolor=green!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotorh](0,2,1.7678)
\psSolid[object=cylindre,h=1.2,r=0.3,fillcolor=gray!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotor1](0,2.5,1.7678)
\psSolid[object=cylindre,h=1.5,r=0.3,fillcolor=gray!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotor2](0,-8.7,1.7678)
\psSolid[object=cylindre,h=9,r=2.5,fillcolor=blue!40,RotX=-90,ngrid=20 90,hue=0.6 0.5,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=stator](0,-7,1.7678)
\psSolid[object=prisme,h=1.5,fillcolor=gray!40,RotX=-90,ngrid=1 18,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+,name=fuss1](0,0,0)
\psSolid[object=prisme,h=1.5,fillcolor=gray!40,RotX=-90,ngrid=1 18,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+,name=fuss2](0,-6.5,0)
%--------------- Compose -------------------------------------
\psSolid[object=fusion,base=fuss1 fuss2 stator rotorh rotor1 rotor2,grid=false,action=writesolid,file=generateur](-2,-2,0)
\end{pspicture}
}
% enregistrement des fichiers de données
\Generator
% a désactiver par la suite

La lecture des fichiers de données :

generateur-couleurs.dat
generateur-faces.dat
generateur-io.dat
generateur-sommets.dat


est beaucoup plus rapide, et on peut se concentrer ainsi plus aisément sur la mise en page.

\begin{center}
\begin{pspicture}[showgrid](-2,-3)(9,6)
\psset{viewpoint=100 120 15 rtp2xyz,Decran=100,lightsrc=100 155 50 rtp2xyz}
\psSolid[object=grille,base=-8 -1 -4 5,hue=0.6 0.5,grid]
\psSolid[object=datfile,
             grid,
            deactivatecolor,
            file=generateur]
\end{pspicture}
\end{center}

Tous les fichiers sont ici dans le répertoire  :


Le code :

\documentclass{article}
\usepackage{pst-solides3d}

\begin{document}

\def\Generator{% enregistrement des fichiers de données
\begin{pspicture}[showgrid=false](-5,-5)(5,5)
\psset{viewpoint=100 120 15 rtp2xyz,Decran=100,lightsrc=100 155 50 rtp2xyz,solidmemory,action=none,grid=true}
\defFunction{F}(t){t cos 2.5 mul neg}{t sin 2.5 mul 1.7678 sub}{}
\defFunction{G}(t){t cos neg 3 add}{t sin}{}
\defFunction{H}(t){t cos 3 sub}{t sin}{}
%\psSolid[object=grille,base=-8 -1 -4 5,hue=0.6 0.5,grid=false,action=draw**](0,0,0)%
\psSolid[object=cylindre,h=0.5,r=0.7,fillcolor=green!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotorh](0,2,1.7678)
\psSolid[object=cylindre,h=1.2,r=0.3,fillcolor=gray!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotor1](0,2.5,1.7678)
\psSolid[object=cylindre,h=1.5,r=0.3,fillcolor=gray!40,RotX=-90,ngrid=20 90 ,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=rotor2](0,-8.7,1.7678)
\psSolid[object=cylindre,h=9,r=2.5,fillcolor=blue!40,RotX=-90,ngrid=20 90,hue=0.6 0.5,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,name=stator](0,-7,1.7678)
\psSolid[object=prisme,h=1.5,fillcolor=gray!40,RotX=-90,ngrid=1 18,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+,name=fuss1](0,0,0)
\psSolid[object=prisme,h=1.5,fillcolor=gray!40,RotX=-90,ngrid=1 18,resolution=15,linewidth=0.1pt,linecolor=gray!70,incolor=red,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+,name=fuss2](0,-6.5,0)
%--------------- Compose -------------------------------------
\psSolid[object=fusion,base=fuss1 fuss2 stator rotorh rotor1 rotor2,grid=false,action=writesolid,file=generateur](-2,-2,0)
\end{pspicture}
}
% enregistrement des fichiers de données
%\Generator
% a désactiver par la suite
\begin{center}
\begin{pspicture}[showgrid](-2,-3)(9,6)
\psset{viewpoint=100 120 15 rtp2xyz,Decran=100,lightsrc=100 155 50 rtp2xyz}
\psSolid[object=grille,base=-8 -1 -4 5,hue=0.6 0.5,grid]
\psSolid[object=datfile,grid,
         deactivatecolor,
         file=generateur]
\end{pspicture}
\end{center}
\newpage
\begin{center}
\begin{pspicture}[showgrid](-2,-3)(9,2)
\psset{viewpoint=100 120 20 rtp2xyz,Decran=100}
\defFunction{F}(t){t cos 2.5 mul neg}{t sin 2.5 mul 1.7678 sub}{}
\defFunction{G}(t){t cos neg 3 add}{t sin}{}
\defFunction{H}(t){t cos 3 sub}{t sin}{}
% Support
\psSolid[object=prisme,h=1.5,RotX=-90,ngrid=1 18,resolution=15,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+](-2,-8.5,0)
\psSolid[object=prisme,h=1.5,RotX=-90,ngrid=1 18,resolution=15,
base=3 1 3 1.5 -3 1.5 90 0 {H} CourbeR2+ -2 0 -1.7678 0 45 135 {F} CourbeR2+ 1.7678 0 2 0 0 90 {G} CourbeR2+](-2,-2,0)
\end{pspicture}
\end{center}

\begin{center}
% stator + rotors
\begin{pspicture}(-9,-6)(2,4)
\psset{viewpoint=100 120 20 rtp2xyz,Decran=100}
\psgrid[subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=5pt](-9,-6)(2,3)
% rotors arrieres
\psSolid[object=cylindre,h=1.2,r=0.3,RotX=-90,ngrid=1 36](0,-1.7,0)
\psSolid[object=cylindre,h=0.5,r=0.7,RotX=-90,ngrid=1 36](0,-0.5,0)
% stator
\psSolid[object=cylindre,h=9,r=2.5,RotX=-90,ngrid=5 36]
% rotors avant
\psSolid[object=cylindre,h=0.5,r=0.7,RotX=-90,ngrid=1 36](0,9,0)
\psSolid[object=cylindre,h=1.2,r=0.3,RotX=-90,ngrid=1 36](0,9.5,0)
\end{pspicture}
\end{center}

\begin{center}
\begin{pspicture}[showgrid](-2,-3)(9,6)
\psset{viewpoint=100 120 15 rtp2xyz,Decran=100}
\psSolid[object=grille,base=-8 -1 -4 5]
\psSolid[object=datfile,
         file=generateur]
\end{pspicture}
\end{center}
\end{document}






jeudi 4 juillet 2013

pst-gears : le package

La macro dédiée aux engrenages circulaires à développante de cercle a été mise sous forme de package avec l'ajout de quelques options décrites dans la documentation. Une illustration inspirée(calquée) sur l'un des projets de :
http://www.facebook.com/faclab
Un engrenage en bois pour présenter les trois conditions morales de gratuité du lieu :
" Participer, Partager, Documenter "
Les fichiers sont dans le sous-répertoire pst-gears-package de :


Le fichier faclab.tex du même sous-répertoire permet de calculer les images nécessaires à l'animation.