diff options
Diffstat (limited to 'graphics/pstricks/contrib/pst-pad/pst-pad-doc.tex')
-rw-r--r-- | graphics/pstricks/contrib/pst-pad/pst-pad-doc.tex | 432 |
1 files changed, 432 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/pst-pad/pst-pad-doc.tex b/graphics/pstricks/contrib/pst-pad/pst-pad-doc.tex new file mode 100644 index 0000000000..0cda673935 --- /dev/null +++ b/graphics/pstricks/contrib/pst-pad/pst-pad-doc.tex @@ -0,0 +1,432 @@ +%% Filename: pst-pad-doc.tex +%% +%% Author: Patrick Drechsler +%% +%% Created: Fri Feb 8 02:04:17 2008 +%% +%% Version: $Id: pst-pad-doc.tex 333 2008-03-22 00:21:39Z patrick $ +%% +\listfiles +\documentclass{scrartcl} +\usepackage[english]{babel} +\input{pst-pad-doc-header} +\newcommand{\summary}{A PSTricks package for drawing attachment models} + +\begin{document} +\EnableQuotes + +\title{\texttt{pst-pad}\\\summary\\\normalsize ver. \verPstPad} +\author{\AuthorName\thanks{\AuthorEmail}} \date{\today} +\maketitle + +\begin{abstract} +\PadPackage{} is a PSTricks package to draw simple attachment systems. +\end{abstract} + +\setlength{\columnseprule}{0.6pt} +\begin{multicols}{2} +{\parskip 0pt \tableofcontents} +\end{multicols} + +\section{Introduction} +\label{sec:introduction} + +The package \PadPackage{} is a collection of graphical elements based on +PStricks that can be used to facilitate display of attachment systems such as +two differently shaped surfaces with or without a fluid wedged in +between. These macros ease the display of wet adhesion models and common +friction systems such as boundary lubrication, elastohydrodynamic lubrication +and hydrodynamic lubrication. The name \PadPackage{} was chosen because I used +this package to display models of different animal attachment pads in my +research. + +\section{Parameters} +\label{sec:parameters} + +There are specific parameters defined to easily change the behaviour of the pst-pad +objects you are drawing. + +\let\HLTTc\textsf +%\begin{multicols}{2} +\begin{description} +\item[\HLTTc{fluid} (boolean):] (\emph{default:~true}) +\item[\HLTTc{WallThickness} (dimension):] (\emph{default:~1}) +\item[\HLTTc{WallString} (string):] (\emph{default:~}) +\item[\HLTTc{WallAngle} (PSTricks color):] (\emph{default:~0}) +\item[\HLTTc{WallLineWidth} (dimension):] (\emph{default:~1pt}) +\item[\HLTTc{WallLineColor} (PSTricks color):] (\emph{default:~black}) +\item[\HLTTc{SphereStartAngle} (dimension):] (\emph{default:~180}) +\item[\HLTTc{SphereEndAngle} (boolean):] (\emph{default:~360}) +\item[\HLTTc{SphereRadius} (dimension):] (\emph{default:~1}) +\item[\HLTTc{ShpereString} (string):] (\emph{default:~}) +\item[\HLTTc{SphereOffset} (dimension):] (\emph{default:~0}) +\item[\HLTTc{SphereFillColor} (PSTricks color):] (\emph{default:~white}) +\item[\HLTTc{SphereLineWidth} (dimension):] (\emph{default:~1pt}) +\item[\HLTTc{SphereLineColor} (PSTricks color):] (\emph{default:~black}) +\item[\HLTTc{FSphereHeight} (dimension):] (\emph{default:~2}) +\item[\HLTTc{FSphereFillColor} (PSTricks color):] (\emph{default:~lightgray}) +\item[\HLTTc{FSphereString} (string):] (\emph{default:~}) +\item[\HLTTc{FSphereLineWidth} (dimension):] (\emph{default:~1pt}) +\item[\HLTTc{FSphereLineColor} (PSTricks color):] (\emph{default:~black}) +\item[\HLTTc{FluidMaxRadius} (dimension):] (\emph{default:~1}) +\item[\HLTTc{FluidMinRadius} (dimension):] (\emph{default:~.5}) +\item[\HLTTc{FluidHeight} (dimension):] (\emph{default:~.5}) +\item[\HLTTc{FluidFillColor} (PSTricks color):] (\emph{default:~yellow}) +\item[\HLTTc{FluidString} (string):] (\emph{default:~}) +\item[\HLTTc{FluidShearOffsetX} (dimension):] (\emph{default:~0}) +\item[\HLTTc{FluidShearOffsetY} (dimension):] (\emph{default:~0}) +\item[\HLTTc{FluidLineWidth} (dimension):] (\emph{default:~1pt}) +\item[\HLTTc{FluidLineColor} (PSTricks color):] (\emph{default:~black}) +\item[\HLTTc{StringA} (string):] (\emph{default:~}) +\item[\HLTTc{StringB} (string):] (\emph{default:~}) +\item[\HLTTc{TotalAngle} (angle):] (\emph{default:~0}) +\end{description} + +\clearpage + +\section{High-level Macros ("Objects")} +\label{sec:high-level-macros} + +There are three high-level macros: \macro{PstWallToWall}, +\macro{PstSphereToWall} and \macro{PstPad}. + +\subsection{\macro{PstWallToWall}} +\label{sec:macropstwalltowall} + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \PstWallToWall(2,2) +\end{pspicture} +\end{LTXexample} + +\subsection{\macro{PstSphereToWall}} +\label{sec:macropstspheretowall} + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \PstSphereToWall[fluid=false](2,2) +\end{pspicture} +\end{LTXexample} + + +\subsection{\macro{PstPad}} +\label{sec:macropstpad} + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \PstPad(2,2) +\end{pspicture} +\end{LTXexample} + +\clearpage + +\subsection{Basic Usage} +\label{sec:basic-usage} + +The following figure shows the usage of some basic parameters with the +\macro{PstPad} macro. Green and brown colored values in parentheses give +default and example values, respectively. + +\begin{pspicture}(-5,-4)(7.5,4)%\psgrid + \PstPad[% + FluidMaxRadius=4,% + FluidMinRadius=3,% + FluidHeight=1,% + FSphereHeight=2,% + FSphereFillColor=green!20!white,% + FluidFillColor=blue!10!white,% + FluidLineWidth=1.5pt,% + FSphereLineWidth=0.1pt,% + WallLineWidth=3pt,% + WallLineColor=blue,% + FSphereLineColor=magenta,% + FluidLineColor=green!50!black% + ](0,0) + %% + \sffamily\footnotesize% + \psset{linecolor=gray, linewidth=0.2pt} + %% "Crosshair" for orientation: + \psline[linestyle=dashed](-5,0)(5,0) + \psline[linestyle=dashed](0,-3)(0,1.5) + %% Node definitions: + \pnode(0,0){center} + \pnode(-4,-2.25){maxradiusLeft} + \pnode(0,-2.25){maxradiusRight} + \pnode(-3,0){minradiusLeft} + \pnode(3,0){minradiusRight} + \pnode([nodesep=4.5]center){fluidheightCenter} + \pnode([nodesep=4.5,offset=-1]center){fluidheightBottom} + \pnode([offset=-1]fluidheightBottom){wallThicknessBottom} + \pnode([nodesep=5.2,offset=1]center){fsphereheightBottom} + \pnode([offset=1]fsphereheightBottom){fsphereheightTop} + %% + \psset{arrows=|<->|,linewidth=0.8pt,linecolor=red,arrowscale=1.5} + %% Center: + \rput[l]([nodesep=.2,offset=.2]center){\textbf{(0,0)}} + %% Label FluidMinRadius: + \ncline{minradiusLeft}{center} + \nbput{\ParCol{FluidMinRadius}{0.5}{3}} + %% Label FluidMaxRadius: + \ncline{maxradiusLeft}{maxradiusRight} + \nbput{\ParCol{FluidMaxRadius}{1}{4}} + %% Label FluidHeight: + \ncline{fluidheightCenter}{fluidheightBottom} + \naput{\ParCol{FluidHeight}{.5}{1}} + %% Label WallThickness: + \ncline{fluidheightBottom}{wallThicknessBottom} + \naput{\ParCol{WallThickness}{1}{1}} + %% Label FSpereHeight: + \ncline{fsphereheightBottom}{fsphereheightTop} + \nbput{\ParCol{FSphereHeight/2}{2}{2}} + %% Label FSphereFillColor: + \psline{->}(-.1,2.2)(-.3,1.6) + \rput(-.1,2.6){\ParCol{FSphereFillColor}{"lightgray"}{"green!20!white"}} + %% Label FluidFillColor: + \psline{->}(4,2.2)(2.5,.6) + \rput(4,2.6){\ParCol{FluidFillColor}{"yellow"}{"blue!10!white"}} + %% Label FluidLineWidth: + \psline{->}([offset=.5,nodesep=3]minradiusRight)(minradiusRight) + \rput[l]([offset=-.1,nodesep=3.2]minradiusRight){\ParCol{FluidLineWidth}{1pt}{1.5pt}} + \rput[l]([offset=.8,nodesep=3.2]minradiusRight){\ParCol{FluidLineColor}{"black"}{"green!50!black"}} + %% Label FSphereLineWidth: + \psline{->}(-4.3,2.2)(-3.5,1) + \rput(-4.3,2.6){\ParCol{FSphereLineWidth}{1pt}{0.1pt}} + \rput(-4.3,3.4){\ParCol{FSphereLineColor}{"black"}{"magenta"}} + %% Label WallLineWidth: + \psline{->}(1.5,-2.25)(1.5,-1) + \rput[t](1.5,-2.5){\ParCol{WallLineWidth}{1pt}{3pt}} + \rput[t](1.5,-3.4){\ParCol{WallLineColor}{"black"}{"blue"}} +\end{pspicture} + +\subsection{Liquid shearing} +\label{sec:liquid-shearing} + +Sheared liquids sandwiched in between two surfaces can also be displayed. The +following figures shows the usage of the +parameters \parameter{FluidShearOffsetX} +and \parameter{FluidShearOffsetY}. Again, green and brown colored values in +parentheses give default and example values, respectively. + +\subsubsection[\parameter{FluidShearOffsetX}]{Parameter \parameter{FluidShearOffsetX}} +\label{sec:param-offsetx} + +\parameter{FluidShearOffsetX}\ describes the x offset from the current value +of \parameter{FluidMaxRadius}. + +\begin{center} + \begin{pspicture}[showgrid=false](-5,-2)(4.5,2)% + \PstPad[% + FluidHeight=1,% + FluidShearOffsetX=0.6% + ](0,0) + %% Labeling: + \sffamily\footnotesize% + \psset{linecolor=black, linewidth=0.2pt} + \psline[linestyle=dotted](-2.5,0)(1.5,0) + \psline[linestyle=dotted](0,-1)(0,1.5) + + %% Node definitions: + \pnode(0,0){center} + \pnode(-1,-2.25){maxradiusLeft} + \pnode(0,-2.25){maxradiusRight} + + \pnode(-1,0){maxradiusLeftZero} + \pnode(0,0){maxradiusRightZero} + + \pnode([nodesep=-0.6]maxradiusLeft){Xoffset} + \pnode([nodesep=-0.6]maxradiusLeftZero){XoffsetZero} + + \psline[linestyle=dotted]([offset=-1]maxradiusLeftZero)([offset=.5]maxradiusLeftZero) + \psline[linestyle=dotted]([offset=-1]XoffsetZero)([offset=.5]XoffsetZero) + %% + %% + \psset{arrowscale=2,arrows=|<->|} + %% Label FluidMaxRadiusLeft: + \ncline{maxradiusLeft}{maxradiusRight} + \nbput[npos=0.5]{\ParCol{FluidMaxRadius}{1}{1}} + %% Label FluidShearOffsetX: + \ncline[linecolor=red]{maxradiusLeftZero}{XoffsetZero} + \nbput[npos=1.6]{\ParCol{FluidShearOffsetX}{0}{.6}} + \end{pspicture} +\end{center} + +\subsubsection[\parameter{FluidShearOffsetY}]{Parameter \parameter{FluidShearOffsetY}} +\label{sec:param-offsety} + +\parameter{FluidShearOffsetY}\ describes the y offset from zero to determine the +curvature of the meniscus. + +\begin{center} + \begin{pspicture}[showgrid=false](-4.5,-2)(4.5,2)% + \PstPad[% + FluidHeight=1,% + FluidShearOffsetY=0.4% + ](0,0) + %% Labeling: + \sffamily\footnotesize% + \psset{linecolor=black, linewidth=0.2pt} + \psline[linestyle=dotted](-2.5,0)(1.5,0) + \psline[linestyle=dotted](0,-1)(0,1.5) + %% Node definitions: + \pnode(0,0){center} + \pnode([nodesep=1.5]center){fluidheightCenterRight} + \pnode([nodesep=-1.5]center){fluidheightCenterLeft} + \pnode([nodesep=-1.5,offset=1]center){fluidheightTop} + \pnode([offset=-0.4]fluidheightCenterRight){Yoffset} + %% + \psline[linestyle=dotted](0,-.4)(1.7,-.4) + %% + \psset{arrowscale=2,arrows=|<->|} + %% Label FluidHeight: + \ncline{fluidheightCenterLeft}{fluidheightTop} + \naput{\ParCol{FluidHeight}{.5}{1}} + %% Label FluidShearOffsetY: + \ncline[linecolor=red]{fluidheightCenterRight}{Yoffset} + \naput{\ParCol{FluidShearOffsetY}{0}{.4}} + \end{pspicture} +\end{center} + + +\subsection{Tilting parameters} +\label{sec:tilting-parameters} + +The following figure shows the usage of the \parameter{TotalAngle} +parameter. The default angle is 0 degrees. Again, green and brown colored +values in parentheses give default and example values, respectively. + +\begin{center} +\begin{pspicture}(-2.5,-2)(4,2.5)% + %% + \PstPad[TotalAngle=30](0,0) + %% Labeling: + \sffamily\footnotesize% + \psset{linecolor=black, linewidth=0.2pt} + \psline[linestyle=dotted](-2.5,0)(2.5,0) + \psline[linestyle=dotted](0,-1)(0,1.5) + \rput{30}{% + \psline[linestyle=dashed](-2.5,0)(2.5,0) + \psline[linestyle=dashed](0,-1)(0,1.5) + } + \pnode(0,0){center} + \psset{linecolor=red} + \psarc[arrowscale=2]{<->}(center){2.25}{0}{30} + \rput[l]([nodesep=2.5,angle=15]center){% + \ParCol{TotalAngle}{0}{30}}% +\end{pspicture} +\end{center} + +\section{Example Usage} +\label{sec:example-usage} + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \PstWallToWall[% + FluidFillColor=red,% + TotalAngle=10% + ](2,2) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \tiny\sffamily% + \PstPad[% + FluidFillColor=blue!30!white,% + FluidLineColor=blue!70!black,% + FSphereFillColor=yellow!40!white,% + FSphereLineColor=red!70!black,% + FluidString={fluid A},% + FluidShearOffsetX=0.1,% + FluidShearOffsetY=0.2,% + WallThickness=0.4,% + FSphereHeight=1,% + StringA={sliding insect pad}% + ](2,2) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}(4,4)\psgrid + \PstSphereToWall[% + fluid=false,% + SphereRadius=1.5,% + SphereStartAngle=190,% + SphereEndAngle=350,% + SphereOffset=0.1,% + StringA={string a},% + StringB={string b}% + ](2,2) +\end{pspicture} +\end{LTXexample} + +\section{Low-level Macros} +\label{sec:low-level-macros} + +There are four low-level macros: \macro{PstWall}, \macro{PstFluid}, +\macro{PstSphere} and \macro{PstFlattenedSphere}. + +\subsection{\macro{PstWall}} +\label{sec:macropstwall} + +\begin{LTXexample}[width=5cm] + \begin{pspicture}[showgrid=true](4,2) + \PstWall(2,1.5) + \end{pspicture} +\end{LTXexample} + +\subsection{\macro{PstFluid}} +\label{sec:macropstfluid} + +\begin{LTXexample}[width=5cm] + \begin{pspicture}[showgrid=true](4,2) + \rput(2,1){\PstFluid[unit=1pt](0,0)} + \end{pspicture} +\end{LTXexample} + + +\clearpage + +\subsection{\macro{PstSphere}} +\label{sec:macropstsphere} + +\begin{LTXexample}[width=5cm] + \begin{pspicture}[showgrid=true](4,2) + \PstSphere(2,.5) + \end{pspicture} +\end{LTXexample} + +\subsection{\macro{PstFlattenedSphere}} +\label{sec:macr} + +\begin{LTXexample}[width=5cm] + \begin{pspicture}[showgrid=true](4,2) + \PstFlattenedSphere(2,.5) + \end{pspicture} +\end{LTXexample} + + +\section{TODO} +\label{sec:todo} + +\begin{itemize} +\item Enhance calculations and number conversions. +\item Implement different degrees of surface roughness. +\item Implement fluid film contact angle parameter. +\end{itemize} + + +\section{Acknowledgements} +\label{sec:acknowledgements} + +I would like to thank Herbert Voß and Alan Ristow for their help on getting me +started with PSTricks macros and low-level calculations in PostScript and \TeX. + +\end{document} + +%%% Local Variables: +%%% TeX-command-default: "Make" +%%% mode: latex +%%% TeX-master: t +%%% End: |