1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
|