Ciao a tutti.
Incollo qui un esempio d’uso del pacchetto fp con pstricks.
Per chi ha voglia di ispezionare il codice segnalo l’uso di \FPeval insieme alla funzione trunc.
`
\documentclass{article}
\usepackage{amsmath}
\usepackage{fp}
\usepackage{pstricks,pst-plot,pstricks-add}
\definecolor{mydarkgreen}{rgb}{0.03,0.47,0.03}
\definecolor{mydarkblue}{rgb}{0.07,0.08,0.4}
\definecolor{mylightblue}{rgb}{.8, .8, 1}
\definecolor{mylightgray}{rgb}{0.95,0.95,0.95}
\definecolor{mydarkgray}{rgb}{0.35,0.35,0.35}
\definecolor{myblue}{rgb}{.4,.4,1}
\begin{document}
\resetOptions
\psset{unit=9}%
%\psset{xunit=12cm,yunit=6cm}%<--!!!
%
\FPeval\XCLL{trunc( 0.45 ,3)}% Corner Lower Left
\FPeval\YCLL{trunc( -0.25,3)}% Corner Lower Left
\FPeval\XCUR{trunc( 1.5 ,3)}% Corner Upper Right
\FPeval\YCUR{trunc( 1.0,3)}% Corner Upper Right
%
\begin{pspicture}(\XCLL,\YCLL)(\XCUR,\YCUR)%
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
% grid
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
\psgrid[subgriddiv=20,subgriddots=4,gridcolor=gray,subgridcolor=gray,%
gridlabels=0%, <-- !!!
](\XCLL,\YCLL)(\XCUR,\YCUR)%
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
% axes @ bottom
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
\psaxes[%
axesstyle=frame,%axis
tickstyle=top,%
linewidth=1pt,%
Dx=0.1,%
Dy=0.2,%
linecolor=mydarkblue,%
%\ifMYFONTS
%xLabel={\fontfamily{pfu}\fontseries{n}\fontshape{n}\selectfont%
% \color{mydarkblue}\small},% futura
%yLabel={\fontfamily{pfu}\fontseries{n}\fontshape{n}\selectfont%
% \color{mydarkblue}\small},% futura
%\fi
Ox=0.0,% origin of labels
Oy=0.0,% origin of labels
%labelsep=15pt
]%{->}
(0.0,0.0)% axes intersection
(0.0,0.0)(1.0,1.0)% opposite corners
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
% data
% . . . . . . . . . . . . . . . . . . . . . . . . . . . .
\FPeval\Radius{trunc( 0.9 ,3)}
\FPeval\EulerAngleDeg{trunc( 35 ,3)}
\FPeval\EulerAngleRad{trunc( (\EulerAngleDeg)/57.3 ,3)}
\FPeval\cMu{trunc( cos(\EulerAngleRad) ,3)}
\FPeval\sMu{trunc( sin(\EulerAngleRad) ,3)}
\FPeval\Vcos{trunc( (\Radius)*cos(\EulerAngleRad) ,3)}
\FPeval\Vsin{trunc( (\Radius)*sin(\EulerAngleRad) ,3)}
\FPeval\xN{trunc( 0.5 ,3)}% N
\FPeval\yN{trunc( 0.9 ,3)}%
\FPeval\xP{trunc( (\xN)+(\Radius)*sin( 10 / 57.3 ) ,3)}% P'x
\FPeval\yP{trunc( (\yN)-(\Radius)*cos( 10 / 57.3 ) ,3)}% P'y
\pnode(\xN,\yN){nN}
\pnode(\xP,\yP){nP}
\psRelNode[angle=\EulerAngleDeg](nN)(nP){1}{nP1}% needs pstricks-add v. 2.57
\psRelNode[angle=0](nN)(nP){\cMu}{nPm}
%\qdisk(nP2){3.0pt}
\FPeval\cc{trunc( cos( 45 / 57.3 ) ,3)}%
\FPeval\dd{trunc( 0.2 ,3)}%
\FPeval\dc{trunc( (\dd)*(\cc) ,3)}%
\psRelNode[angle=45](nPm)(nP1){\dd}{nPmm}
\psRelNode[angle=0](nPm)(nP1){\dc}{nPm1}
\psRelNode[angle=90](nPm)(nP1){\dc}{nPm2}
\psline[linewidth=1pt,linecolor=red,fillcolor=red!50,fillstyle=solid]
(nPm)(nPm1)(nPmm)(nPm2)
\ncline[linecolor=red,linewidth=5.0pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nN}{nP}%
\bput[0.02]{0}(0.92)
{\Large$\vec{v}_{\perp}$}%
\ncline[linecolor=red,linewidth=5.0pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nN}{nP1}%
\aput[0.03]{0}(0.5)
{\Large$\vec{v}\,'_{\!\perp}$}%
\ncline[linecolor=mydarkblue,linewidth=3.0pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nPm}{nP1}%
\ncline[linecolor=mydarkblue,linewidth=3.0pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nN}{nPm}%
\psarc[showpoints=false,linewidth=2pt,linestyle=dashed,arrows=-]
(nN){\Radius}{270}{320}
\psRelNode[angle=0](nN)(nP){0.3}{nMu1}
\psRelNode[angle=0](nN)(nP1){0.3}{nMu2}
\ncarc[arcangle=-15,linewidth=2pt,linestyle=solid,arrows=->]{nMu1}{nMu2}
\aput[0.03]{0}(0.5){\Large$\mu$}%
\psRelNode[angle=0](nPm)(nP1){1.2}{nA1}
\psRelNode[angle=0](nPm)(nP1){1.5}{nA2}
\ncline[linecolor=mydarkblue,linewidth=3.3pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nA1}{nA2}%
\aput[-0.02]{0}(0.8)
{\large$\frac{\displaystyle1}{\displaystyle|\vec{v}_{\perp}|}\,\vec{e}\wedge\vec{v}_{\perp}$}%
\psRelNode[angle=0](nN)(nP){1.07}{nA3}
\psRelNode[angle=0](nN)(nP){1.25}{nA4}
\ncline[linecolor=mydarkblue,linewidth=3.3pt,arrows=->,arrowinset=0,arrowscale=1.2]%
{nA3}{nA4}%
\aput[0.01]{0}(0.7)
{\large$\frac{\displaystyle1}{\displaystyle|\vec{v}_{\perp}|}\,\vec{v}_{\perp}$}%
\qdisk(nN){4.0pt}\uput{0.03}[90]{0}(nN){\large$N$}%
\qdisk(nP){4.0pt}\uput{0.03}[-120]{0}(nP){\large$P$}%
\qdisk(nPm){4.0pt}\uput{0.03}[180]{0}(nPm){\large$H$}%
\qdisk(nP1){4.0pt}\uput{0.03}[-40]{0}(nP1){\large$P'$}%
\end{pspicture}%
\end{document}
`
Il codice riportato sopra produce il risultato seguente:

Ciao,
Agostino