%% $Id: pst-thick.tex 170 2009-12-08 21:30:53Z herbert $ %% %% This is file `pst-thick.tex', %% %% IMPORTANT NOTICE: %% %% Package `pst-thick.tex' %% %% MAnuel Luque %% Herbert Voss %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives %% in directory CTAN:/macros/latex/base/lppl.txt. %% %% DESCRIPTION: %% `pst-mirror' is a PSTricks package to view objects ob a spherical sphere %% %% % \ifx\PSTPlotLoaded\endinput\else\input pst-plot.tex\fi \ifx\PSTNodeLoaded\endinput\else\input pst-node.tex\fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi % \def\fileversion{1.0} \def\filedate{2009/12/08} \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \definecolor{darkgreen}{cmyk}{1,0,1,0.5} \newpsstyle{vide}{fillstyle=none} \newpsstyle{thickline}{fillstyle=solid,fillcolor=red!25,linecolor=red,plotpoints=360} \newpsstyle{onlythecurvered}{linecolor=red,plotpoints=360} \newpsstyle{onlythecurveblue}{linecolor=blue,plotpoints=360} \newpsstyle{thicklineblue}{fillstyle=solid,fillcolor=blue!25,linecolor=blue,plotpoints=360} \newpsstyle{rainbow}{fillstyle=ccslopes,linecolor=red,plotpoints=360} \newpsstyle{solide}{fillstyle=solid,fillcolor=black,plotpoints=360} \newpsstyle{serpent}{fillstyle=gradient,gradbegin=darkgreen,gradend=yellow,gradmidpoint=0,linecolor=green,gradangle=90,plotpoints=360} \newpsstyle{default}{}% lignes noires, rien à l'intérieur \pst@addfams{pst-thick} % \define@key[psset]{pst-thick}{E}[1]{\def\psk@thick@E{#1}} \define@key[psset]{pst-thick}{K}[0]{\def\psk@thick@K{#1}}% K=0 => angle de rotation/normale à la courbe \define@key[psset]{pst-thick}{stylethick}[thickline]{\def\psk@thick@stylethick{#1}}% style \define@key[psset]{pst-thick}{stylecurve1}[onlythecurvered]{\def\psk@thick@stylecurveA{#1}}% style \define@key[psset]{pst-thick}{stylecurve2}[onlythecurvered]{\def\psk@thick@stylecurveB{#1}}% style \psset[pst-thick]{E=1,K=0,stylethick=thickline,stylecurve1=onlythecurvered,stylecurve2=onlythecurvered} \define@boolkey[psset]{pst-thick}[Pst@]{curveonly}[true]{} \psset[pst-thick]{curveonly=false} \SpecialCoor \def\CalculsCurves{% /ds dx dup mul dy dup mul add sqrt def /dx dx ds div def /dy dy ds div def /dx' K cos dx mul K sin dy mul sub def /dy' K sin dx mul K cos dy mul add def /nx E 2 div dy' mul neg def % normale x /ny E 2 div dx' mul def % normale y /x1 x0 nx add def /y1 y0 ny add def x1 y1 } \def\psthick{\pst@object{psthick}}% \def\psthick@i#1#2#3{{% \use@par \ifPst@curveonly \parametricplot[style=\psk@thick@stylecurveA]{#1}{#2}{% /E \psk@thick@E\space def /K \psk@thick@K\space def #3 \CalculsCurves }% \parametricplot[style=\psk@thick@stylecurveB]{#2}{#1}{% /E \psk@thick@E\space def /K \psk@thick@K\space def #3 /ds dx dup mul dy dup mul add sqrt def /dx dx ds div def /dy dy ds div def /dx' K cos dx mul K sin dy mul sub def /dy' K sin dx mul K cos dy mul add def /nx E 2 div dy' mul neg def % normale x /ny E 2 div dx' mul def % normale y x0 nx add y0 ny add } \else \pscustom[style=\psk@thick@stylethick]{% \parametricplot{#1}{#2}{% /E \psk@thick@E\space def /K \psk@thick@K\space def #3 \CalculsCurves }% \parametricplot{#2}{#1}{ #3 \CalculsCurves } \closepath } \fi}\ignorespaces} \def\fonctionSinus#1#2{% /P #1 def % période (10 unités) /A #2 def % amplitude /O 360 P div def % pulsation 2*pi/P /x0 t def /y0 t O mul sin A mul def % A*sin(O*t) /dx dt def /dy t dt add O mul sin t O mul sin sub A mul def } \catcode`\@=\PstAtCode\relax \endinput