%% 
%%  A DANTE-Edition example
%% 
%%  Example 20-04-2 on page 312.
%% 
%%  Copyright (C) 2011 Herbert Voss
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 
%% 
%% ==== 
% Show page(s) 1
%% 
\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{375.57637pt}
\setlength\parindent{0pt}

\usepackage{pstricks,pst-coil}

\begin{document}
\begin{pspicture}(-.1,-.1)(5.4,5.6)
\psset{labelsep=2.5pt}
\footnotesize % neutral spring
\rput(0,4){
  \rput(.5,.5){
    \psline{c-c}(0,0)(.125,0)
\psCoil[coilaspect=0,coilwidth=.8,coilheight=.625,arrows=c-c]{90}{1890}
    \rput(2.625,0){
      \psline{c-c}(0,0)(.125,0)
      \rput(.125,0){
        \pspolygon(0,-.5)(0,.5)(1,.5)(1,-.5)
        \psdots(.5,0)
        \psline[linewidth=.25pt,linestyle=dashed,dash=2pt 1.5pt](.5,.75)(.5,-4.5)
	\uput[u](.5,.75){$x=0$}
      }}}%
\psline[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](0,0)(.4,.6)(.5,.6)(.5,0)
\pspolygon[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](-.1,0)(-.1,-.1)(5.4,-.1)(5.4,0)
} % compressed spring
\rput(0,2){%
  \rput(.5,.5){%
    \psline{c-c}(0,0)(.125,0)
\rput(.05,0){\psCoil[coilaspect=0,coilwidth=.8,coilheight=.375,arrows=c-c]{90}{1890}
    \rput(1.575,0){
      \psline{c-c}(0,0)(.125,0)
      \rput(.125,0){
        \pspolygon(0,-.5)(0,.5)(1,.5)(1,-.5)
	\uput[d](.65,0){$f$}
        \psline{*->}(.5,0)(.9,0)
        \uput[u](1,.6){$x<0$}
        \psline[linewidth=.5pt]{<-}(.5,.6)(1.5,.6)
        \psline[linewidth=.25pt](.5,.1)(.5,.7)
      }}}}%
\psline[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](0,0)(.4,.6)(.5,.6)(.5,0)
\pspolygon[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](-.1,0)(-.1,-.1)(5.4,-.1)(5.4,0)
}% stretched spring
\rput(0,0){
  \rput(.5,.5){
    \psline{c-c}(0,0)(.125,0)
\rput(-.05,0){\psCoil[coilaspect=0,coilwidth=.8,coilheight=.875,arrows=c-c]{90}{1890}
    \rput(3.675,0){
      \psline{c-c}(0,0)(.125,0)
      \rput(.125,0){
        \pspolygon(0,-.5)(0,.5)(1,.5)(1,-.5)
	\uput[d](.3,0){$f$}
        \psline{*->}(.5,0)(.1,0)
        \uput[u](0,.6){$x>0$}
        \psline[linewidth=.5pt]{<-}(.5,.6)(-.5,.6)
        \psline[linewidth=.25pt](.5,.1)(.5,.7)
      }}}}%
\psline[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](0,0)(.4,.6)(.5,.6)(.5,0)
\pspolygon[linewidth=.25pt,fillstyle=solid,fillcolor=lightgray](-.1,0)(-.1,-.1)(5.4,-.1)(5.4,0)
}
\end{pspicture}
\end{document}
