Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / obsolete / .svn / text-base / par-projectionchemin.tex.svn-base
1 \def\contourZ{2.2973   0.705301 smoveto
2            2.25049   0.561268 slineto
3            2.20779   0.456241 slineto
4            2.16287   0.376752 slineto
5            2.10933   0.309334 slineto
6            2.0227   0.242737 slineto
7            1.9088   0.193796 slineto
8            1.77011   0.163577 slineto
9            1.60932   0.153312 slineto
10            0.581305   0.153312 slineto
11            2.30929   2.58931 slineto
12            2.30929   2.64933 slineto
13            0.205292   2.64933 slineto
14            0.12531   1.9653 slineto
15            0.229352   1.9653 slineto
16            0.256204   2.09242 slineto
17            0.285274   2.18726 slineto
18            0.32042   2.26117 slineto
19            0.365338   2.3253 slineto
20            0.450739   2.40109 slineto
21            0.568741   2.4548 slineto
22            0.719097   2.48674 slineto
23            0.901314   2.49734 slineto
24            1.7853   2.49734 slineto
25            0.037281   0.0613412 slineto
26            0.037281   0.00131387 slineto
27            2.29328   0.00131387 slineto
28            2.38935   0.705301 slineto closepath}
29 \def\contourY{-1.18668008 2.64933 smoveto
30               -2.0627 2.64933  slineto
31               -2.0627 2.57329  slineto
32               -1.93189 2.56451  slineto
33               -1.84673 2.54176  slineto
34               -1.80058 2.50185  slineto
35               -1.78671 2.44133  slineto
36               -1.80124 2.37482  slineto
37               -1.84271 2.29328  slineto
38               -2.41465 1.38933  slineto
39               -3.00671506 2.27734  slineto
40               -3.05721712 2.37276  slineto
41               -3.07470798 2.45332  slineto
42               -3.06403303 2.50062  slineto
43               -3.03077602 2.53527  slineto
44               -2.97346 2.55794  slineto
45               -2.89067984 2.56935  slineto
46               -2.85119 2.56984  slineto
47               -2.79067 2.57329  slineto
48               -2.79067 2.64933  slineto
49               -3.91065693 2.64933  slineto
50               -3.91065693 2.57329  slineto
51               -3.84414196 2.56714  slineto
52               -3.78469 2.55112  slineto
53               -3.7267971 2.51975  slineto
54               -3.66471696 2.46777  slineto
55               -3.59286499 2.38976  slineto
56               -3.50573897 2.28022  slineto
57               -3.3975091 2.13389  slineto
58               -3.2626729 1.94535  slineto
59               -2.73869 1.17731  slineto
60               -2.73869 0.481286  slineto
61               -2.74115 0.364599  slineto
62               -2.75068 0.273531  slineto
63               -2.77055 0.204717  slineto
64               -2.80422 0.15479  slineto
65               -2.85496 0.120383  slineto
66               -2.92608 0.0982117  slineto
67               -3.02083898 0.0849909  slineto
68               -3.14270115 0.077354  slineto
69               -3.14270115 0.00131387  slineto
70               -1.91866994 0.00131387  slineto
71               -1.91866994 0.077354  slineto
72               -2.03864 0.0826095  slineto
73               -2.13331985 0.094188  slineto
74               -2.20550013 0.114553  slineto
75               -2.25822 0.14625  slineto
76               -2.29419 0.191907  slineto
77               -2.31636 0.253905  slineto
78               -2.32761 0.334872  slineto
79               -2.33064985 0.437354  slineto
80               -2.33064985 1.21328  slineto
81               -1.73867011 2.1173  slineto
82               -1.57821012 2.33474  slineto
83               -1.44773006 2.4713  slineto
84               -1.32471991 2.54472 slineto
85               -1.18668008 2.57329 slineto closepath}
86
87 \section {Projection d'un chemin}
88
89 La macro \verb+\psProjection+ peut également projeter un chemin décrit
90 en postscript. Dans ce cas, l'objet transmis à \verb+\psProjection+ est
91 \Cadre {chemin}, chemin qui est décrit dans la paramètre \verb+path+.
92
93 Par exemple, la procédure suivante dessinera, dans le plan choisi,
94 une grille $8\times8$ au pas de $1$, dont les valeurs limites sont
95 $[-4,4]$.  
96
97 %% \begin{boxedverbatim}
98 \begin{verbatim} 
99       object=chemin,
100       path=
101           -4 1 4
102           {-4 exch smoveto
103            8 0 srlineto} for
104           -4 1 4
105           {-4 smoveto
106            0 8 srlineto} for
107 \end{verbatim}  
108 %% \end{boxedverbatim}
109
110 Le tracé du chemin ainsi défini fait appel à l'objet \Cadre{chemin} et à
111 l'option \Cadre{path}.
112
113 \begin{minipage}{0.4\linewidth}
114 \psset{unit=0.5}
115 \begin{pspicture}(-6,-5)(6,8)%
116 \psframe*[linecolor=blue!50](-6,-5)(6,7)
117 \psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60}
118 \psProjection[object=chemin,fillstyle=solid,fillcolor=white,
119             linewidth=.05,linecolor=red,
120             normal=1 1 2 180,
121             path=
122                 -4 -4 smoveto
123                 -4 4 slineto
124                 4 4 slineto
125                 4 -4 slineto
126                 closepath
127             ](1,1,2)
128 \psProjection[object=chemin,
129       linewidth=.02,
130       normal=1 1 2 180,
131       path=
132           -4 1 4
133           {-4 exch smoveto
134            8 0 srlineto} for
135            -4 1 4
136           {-4 smoveto
137            0 8 srlineto} for
138             ](1,1,2)
139 \psProjection[object=chemin,fillstyle=solid,fillcolor=yellow,
140             linecolor=red,
141             normal=1 1 2 180,
142             path=\contourZ
143             ](1,1,2)
144 \psProjection[object=chemin,fillstyle=vlines,hatchcolor=blue,
145             normal=1 1 2 180,
146             path=\contourY
147             ](1,1,2) 
148 \psProjection[object=chemin,fillstyle=hlines,hatchcolor=yellow,
149             linecolor=red,
150             normal=1 1 2 180,
151             path=
152             2 0 smoveto
153             0 2 360 {
154                 /x exch def
155                 x cos 2 mul
156              x sin 2 mul
157                 slineto
158          } for
159             ](1,1,2)
160 \psPoint(0,0,0){O}
161 \psPoint(1,1,2){O1}\psPoint(1.4,1.4,2.8){K}
162 \psline[linewidth=.1,linecolor=red](O1)(K)
163 \psline[linestyle=dashed](O)(O1)
164 \psProjection[object=chemin,
165       linewidth=.1,
166       linecolor=green,
167       normal=1 1 2 180,
168       path=
169             0 0 smoveto
170             1 0 slineto](1,1,2)
171 \psProjection[object=chemin,
172       linewidth=.1,
173       linecolor=blue,
174       normal=1 1 2 180,
175       path=
176             0 0 smoveto
177             0 1 slineto](1,1,2)
178 \axesIIID(4,4,2)(5,5,6)
179 \end{pspicture}
180 \end{minipage}
181 \hfill
182 \begin{minipage}{0.55\linewidth}
183 %% \begin{boxedverbatim} 
184 \begin{verbatim} 
185 \psProjection[
186    object=chemin,
187    linewidth=.1,linecolor=blue,
188    fillstyle=solid,fillcolor=yellow,
189    normal=1 1 2 180,
190    path=\contourZ
191    ](1,1,2)
192 \psProjection[
193    object=chemin,
194    fillstyle=vlines,hatchcolor=blue,
195    normal=1 1 2 180,
196    path=\contourY
197    ](1,1,2)
198 \end{verbatim}  
199 %% \end{boxedverbatim}
200 \end{minipage}
201

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.