Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / obsolete / par-projectionchemin.tex
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.