summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-thick
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-12-12 01:01:09 +0000
committerKarl Berry <karl@freefriends.org>2009-12-12 01:01:09 +0000
commitb3d72971aeaf06ea2627c5ebca11fef7d76e0d5b (patch)
tree9f4bd0b851a7541f9629e8096aa9df1eb805cd95 /Master/texmf-dist/tex/generic/pst-thick
parent1b2dc80bc47f12c5846e7616c287a772be5de763 (diff)
new pstricks package pst-thick (9dec09)
git-svn-id: svn://tug.org/texlive/trunk@16369 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-thick')
-rw-r--r--Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex109
1 files changed, 109 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex b/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex
new file mode 100644
index 00000000000..4732b4243cb
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex
@@ -0,0 +1,109 @@
+%% $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