Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc-en / par-definirplanquelconque-en.tex
1 \section{Defining a \Index{projection plane}}
2
3 The \Index{plane} of projection is defined with the option
4 \texttt{\Lkeyword{plan}=plantype} which expects an argument \textit{type of
5 plane}. The creation of such an argument invariably happens
6 through the command \verb+\psSolid[object=plan]+ (see the relevant
7 paragraph of chapter 4 and the example below in sub-paragraph
8 \textit{Labels\/} of the paragraph \textit{Points}).
9 \endinput
10
11 \section{Specifying a general projection plane}
12
13 To define a plane of projection, we assume that the drawing to be
14 projected resides on the plane $Oxy$, and the user has to specify
15 the images of the origin $O$ and the basis $\overrightarrow{\imath}$,
16 $\overrightarrow{\jmath}$, and $\overrightarrow{k}$.
17 If they wish to abbreviate the syntax, users are required at most
18 to specify the image of $O$ and the image of $\overrightarrow{k}$,
19 in other words the image of the origin and the components of the
20 normal to the plane of projection.
21
22 The package then suggests an orientation of the plane of
23 projection. If users are not happy with this orientation, they can
24 specify it themselves.
25
26 The following paragraphs detail the proposed syntax.
27
28
29 \subsection{The origin}
30
31 \texttt{(x,y,z)} are the projected coordinates of the origin of
32 the plane, which are either numerical values or expressions that
33 PostScript can handle.
34
35
36 \texttt{\textbackslash psProjection[\ldots](1,2,3)} positions the
37 origin of the plane at the coordinates $(1,2,3)$.
38
39
40 \texttt{\textbackslash psProjection[\ldots](0.5 0.5 add,2 sqrt,1.5 2
41 exp)} positions the origin of the plane at the coordinates
42 $(1,\sqrt{2},1.5^2)$.
43
44
45 If no coordinates are chosen (by the end of the command), it is
46 interpreted as $(0,0,0)$, placing the origin at $O$.
47
48
49 \subsection{Defining the normal to a plane}
50
51 There are four ways to define a normal to a plane, two of which
52 have an option to rotate the coordinate system of the plane around
53 that normal: \Lkeyword{normal}
54
55 \subsubsection{Method 1: giving the components of the normal vector}
56
57
58 In this case \texttt{\Lkeyword{normal}=nx ny nz}, the argument consists of
59 3 values: the components of the normal vector. For example
60 \texttt{\Lkeyword{normal}=0 0 1} for the plane $Oxy$.
61
62 \newpage
63
64 \begin{LTXexample}[width=6.5cm]
65 \psset{unit=0.5}
66 \begin{pspicture}(-9,-6.5)(6,6)
67 \psframe*[linecolor=blue!50](-6,-6)(6,6)
68 \psset{lightsrc=10 -20 50,viewpoint=50 20 30 rtp2xyz,Decran=50}
69 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
70 \psSolid[object=grille,base=-4 4 -4 4]}
71 \defFunction[algebraic]{f1}(x){3*cos(x)}{3*sin(x)}{}
72 \psProjection[object=courbeR2,
73 range=-3.14 3.14,
74 linecolor=blue,
75 normal=0 0 1,
76 function=f1]
77 \axesIIID(0,0,0)(4,4,4)
78 \psProjection[object=chemin,
79 linewidth=.1,
80 linecolor=red,
81 normal=1 0 0,
82 path=newpath
83 0 0 smoveto
84 -1 0 slineto]
85 \rput(0,-6.75){%
86 \psframebox[linecolor=blue!50]
87 {\texttt{$\backslash${}defFunction[algebraic]%
88 \{f\}(x)\{3*cos(x)\}\{3*sin(x)\}\{\}}}}
89 \end{pspicture}
90 \end{LTXexample}
91
92 \newpage
93 If we call
94 $\big(\overrightarrow{i}(1,0,0),\overrightarrow{j}(0,1,0),\overrightarrow{k}(0,0,1)\big)$
95 the basis of the referencing coordinate system and if
96 $\big(\overrightarrow{I},\overrightarrow{J},\overrightarrow{K}\big)$
97 is the basis of the coordinate system of the plane to be defined,
98 with $\overrightarrow{K}$ being the chosen normal vector, then the
99 following relations are verified and should be kept in mind:
100 \begin{enumerate}
101 \item $\overrightarrow{J}=\overrightarrow{K}\wedge \overrightarrow{i}$
102 \item $\overrightarrow{I}=\overrightarrow{J}\wedge \overrightarrow{K}$
103 \end{enumerate}
104 If $\overrightarrow{K}=\overrightarrow{i}$ then
105 $\overrightarrow{J}=\overrightarrow{j}$
106
107 \encadre{With the convention: $\overrightarrow{K}$ is drawn in
108 red, $\overrightarrow{J}$ in blue and $\overrightarrow{I}$ in green.} %$
109
110 \vfill
111 \begin{minipage}{0.27\linewidth}
112 \psset{unit=0.4}
113 \centerline{\texttt{[normal=0 0 1]}}
114
115 \begin{pspicture}(-6,-6)(4,7)%
116 \psframe*[linecolor=blue!50](-6,-6)(6,6)
117 \psset{lightsrc=10 -20 50,viewpoint=50 20 30 rtp2xyz,Decran=60}
118 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
119 \psSolid[object=grille,base=-4 4 -4 4]}
120 \axesIIID(0,0,0)(4,4,4)
121 \psProjection[object=chemin,
122 linewidth=.2,
123 linecolor=red,
124 normal=1 0 0,
125 path=newpath
126 0 0 smoveto
127 -1 0 slineto]
128 \psProjection[object=chemin,
129 linewidth=.2,
130 linecolor=blue,
131 normal=0 0 1,
132 path=newpath
133 0 0 smoveto
134 0 1 slineto]
135 \psProjection[object=chemin,
136 linewidth=.2,
137 linecolor=green,
138 normal=0 0 1,
139 path=newpath
140 0 0 smoveto
141 1 0 slineto]
142 \end{pspicture}
143 \end{minipage}
144 \hfill
145 \begin{minipage}{0.27\linewidth}
146 \psset{unit=0.4}
147 \centerline{\texttt{[normal=1 0 0]}}
148
149 \begin{pspicture}(-6,-6)(4,7)
150 \psframe*[linecolor=blue!50](-6,-6)(6,6)
151 \psset{lightsrc=50 20 30,viewpoint=50 20 30,Decran=70}
152 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
153 \psSolid[object=grille,base=-4 4 -4 4,RotY=90]}
154 \axesIIID(0,0,0)(4,4,4)
155 \psProjection[object=chemin,
156 linewidth=.2,
157 linecolor=green,
158 normal=1 0 0,
159 path=newpath
160 0 0 smoveto
161 1 0 slineto]
162 \psProjection[object=chemin,
163 linewidth=.2,
164 linecolor=blue,
165 normal=1 0 0,
166 path=newpath
167 0 0 smoveto
168 0 1 slineto]
169 \psProjection[object=chemin,
170 linewidth=.2,
171 linecolor=red,
172 normal=0 0 1,
173 path=newpath
174 0 0 smoveto
175 1 0 slineto]
176 \end{pspicture}
177 \end{minipage}
178 \hfill
179 \begin{minipage}{0.27\linewidth}
180 \psset{unit=0.4}
181
182 \centerline{\texttt{[normal=0 1 0]}}
183
184 \begin{pspicture}(-6,-6)(4,7)
185 \psframe*[linecolor=blue!50](-6,-6)(6,6)
186 \psset{lightsrc=50 60 30,viewpoint=50 60 30,Decran=70}
187 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
188 \psSolid[object=grille,base=-4 4 -4 4,RotX=-90]}
189 \axesIIID(0,0,0)(4,4,4)
190 \psProjection[object=chemin,
191 linewidth=.2,
192 linecolor=green,
193 normal=0 1 0,
194 path=
195 newpath
196 0 0 smoveto
197 1 0 slineto]
198 \psProjection[object=chemin,
199 linewidth=.2,
200 linecolor=blue,
201 normal=0 1 0,
202 path=
203 newpath
204 0 0 smoveto
205 0 1 slineto]
206 \psProjection[object=chemin,
207 linewidth=.2,
208 linecolor=red,
209 normal=0 0 1,
210 path=
211 newpath
212 0 0 smoveto
213 0 1 slineto]
214 \end{pspicture}
215 \end{minipage}
216
217 \vfill
218
219 \begin{minipage}{0.27\linewidth}
220 \psset{unit=0.4}
221 \centerline{\texttt{[normal=1 0 1]}}
222
223 \begin{pspicture}(-6,-6)(4,7)%
224 \psframe*[linecolor=blue!50](-6,-6)(6,6)
225 \psset{lightsrc=50 20 20,viewpoint=50 20 20,Decran=70}
226 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
227 \psSolid[object=grille,base=-4 4 -4 4]
228 \psSolid[object=grille,base=-4 0 -4 4,RotY=90]
229 \psSolid[object=grille,base=-2 2 -4 4,RotY=45,linecolor=red](1.414,0,1.414)}
230 \psPoint(2,0,2){O1}%\psdot(O1)
231 \axesIIID(2.8,3,2.8)(4,4,4)
232 \psPoint(1.414,0,1.414){O1}\psPoint(2.414,0,2.414){OK}
233 \psline[linewidth=.2,linecolor=red](O1)(OK)
234 \psProjection[object=chemin,
235 linewidth=.2,
236 linecolor=blue,
237 normal=1 0 1,
238 path=
239 newpath
240 0 0 smoveto
241 0 1 slineto](1.414,0,1.414)
242 \psProjection[object=chemin,
243 linewidth=.2,
244 linecolor=green,
245 normal=1 0 1,
246 path=
247 newpath
248 0 0 smoveto
249 1 0 slineto](1.414,0,1.414)
250 \end{pspicture}
251 \end{minipage}
252 \hfill
253 \begin{minipage}{0.27\linewidth}
254 \psset{unit=0.4}
255 \centerline{\texttt{[normal=0 1 1]}}
256
257 \begin{pspicture}(-6,-6)(4,7)%
258 \psframe*[linecolor=blue!50](-6,-6)(6,6)
259 \psset{lightsrc=30 20 20,viewpoint=30 20 20,Decran=45}
260 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
261 \psSolid[object=grille,base=-4 4 -4 4]
262 \psSolid[object=grille,base=-4 0 -4 4,RotY=90,RotZ=90]
263 \psSolid[object=grille,base=-4 4 -2 2,RotX=-45,linecolor=red](0,1.414,1.414)}
264 \axesIIID(2.8,3,2.8)(4,4,4)
265 \psPoint(0,1.414,1.414){O1}\psPoint(0,2.414,2.414){OK}
266 \psline[linewidth=.2,linecolor=red](O1)(OK)
267 \psProjection[object=chemin,
268 linewidth=.2,
269 linecolor=blue,
270 normal=0 1 1,
271 path=
272 newpath
273 0 0 smoveto
274 0 1 slineto](0,1.414,1.414)
275 \psProjection[object=chemin,
276 linewidth=.2,
277 linecolor=green,
278 normal=0 1 1,
279 path=
280 newpath
281 0 0 smoveto
282 1 0 slineto](0,1.414,1.414)
283 \end{pspicture}
284 \end{minipage}
285 \hfill
286 \begin{minipage}{0.27\linewidth}
287 \psset{unit=0.4}
288 \centerline{\texttt{[normal=1 1 0]}}
289
290 \begin{pspicture}(-6,-6)(4,7)%
291 \psframe*[linecolor=blue!50](-6,-6)(6,6)
292 \psset{lightsrc=30 20 20,viewpoint=30 20 20,Decran=45}
293 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
294 \psSolid[object=grille,base=0 2 -4 4,RotY=90,RotZ=45,linecolor=red]
295 (1.414,1.414,0)
296 \psSolid[object=grille,base=-4 4 -4 4]
297 \psSolid[object=grille,base= -2 0 -4 4,RotY=90,RotZ=45,linecolor=red]
298 (1.414,1.414,0)}
299 \axesIIID(2.8,2.8,1)(4,4,4)
300 \psPoint(1.414,1.414,0){O1}\psPoint(2.414,2.414,0){OK}
301 \psline[linewidth=.2,linecolor=red](O1)(OK)
302 \psProjection[object=chemin,
303 linewidth=.2,
304 linecolor=blue,
305 normal=1 1 0,
306 path=
307 newpath
308 0 0 smoveto
309 0 1 slineto](1.414,1.414,0)
310 \psProjection[object=chemin,
311 linewidth=.2,
312 linecolor=green,
313 normal=1 1 0,
314 path=
315 newpath
316 0 0 smoveto
317 1 0 slineto](1.414,1.414,0)
318 \end{pspicture}
319 \end{minipage}
320
321 \vfill
322
323 \newpage
324
325 \subsubsection{Method 2: giving the components of the normal vector and an angle
326 of rotation}
327
328 In this case \texttt{\Lkeyword{normal}=nx ny nz A}, the argument takes four
329 values: the components of the normal vector and the angle of
330 rotation (in degrees) around that axis.
331
332 \begin{center}
333 \begin{minipage}{0.34\linewidth}
334 \psset{unit=0.5}
335 \centerline{\texttt{[normal=1 0 1]}}
336
337 \begin{pspicture}(-6,-6)(6,7)%
338 \psframe*[linecolor=blue!50](-6,-6)(6,6)
339 \psset{lightsrc=50 20 20,viewpoint=50 20 20,Decran=70}
340 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
341 \psSolid[object=grille,base=-4 4 -4 4]
342 \psSolid[object=grille,base=-4 0 -4 4,RotY=90]
343 \psSolid[object=grille,base=-2 2 -4 4,RotY=45,linecolor=red](1.414,0,1.414)}
344 \psPoint(2,0,2){O1}%\psdot(O1)
345 \axesIIID(2.8,3,2.8)(4,4,4)
346 \psPoint(1.414,0,1.414){O1}\psPoint(2.414,0,2.414){OK}
347 \psline[linewidth=.2,linecolor=red](O1)(OK)
348 \psProjection[object=chemin,
349 linewidth=.2,
350 linecolor=blue,
351 normal=1 0 1,
352 path=
353 newpath
354 0 0 smoveto
355 0 1 slineto](1.414,0,1.414)
356 \psProjection[object=chemin,
357 linewidth=.2,
358 linecolor=green,
359 normal=1 0 1,
360 path=
361 newpath
362 0 0 smoveto
363 1 0 slineto](1.414,0,1.414)
364 \defFunction[algebraic]{fonction}(x){cos(x)}{x}{}
365 \psProjection[object=courbeR2,
366 range=-4 4,
367 normal=1 0 1,
368 function=fonction](1.414,0,1.414)
369 \end{pspicture}
370 \end{minipage}
371 \hfil
372 \begin{minipage}{0.34\linewidth}
373 \psset{unit=0.5}
374 \centerline{\texttt{[normal=1 0 1 45]}}
375
376 \begin{pspicture}(-6,-6)(6,7)%
377 \psframe*[linecolor=blue!50](-6,-6)(6,6)
378 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70}
379 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
380 \psSolid[object=grille,base=-4 4 -4 4,action=draw]
381 \psSolid[object=grille,base=-4 4 -4 4,RotY=90,action=draw]}
382 \axesIIID(0,0,0)(4,4,4)
383 \psPoint(1.414,0,1.414){O1}\psPoint(2.414,0,2.414){OK}
384 \psline[linewidth=.2,linecolor=red](O1)(OK)
385 \psProjection[object=chemin,
386 linewidth=.02,
387 linecolor=red,
388 normal=1 0 1 45,
389 path=newpath
390 -2 1 2
391 {-4 smoveto
392 0 8 srlineto} for
393 -4 1 4
394 {-2 exch smoveto
395 4 0 srlineto} for
396 ](1.414,0,1.414)
397 \psProjection[object=chemin,
398 linewidth=.2,
399 linecolor=blue,
400 normal=1 0 1 45,
401 path=
402 newpath
403 0 0 smoveto
404 0 1 slineto](1.414,0,1.414)
405 \psProjection[object=chemin,
406 linewidth=.2,
407 linecolor=green,
408 normal=1 0 1 45,
409 path=
410 newpath
411 0 0 smoveto
412 1 0 slineto](1.414,0,1.414)
413 \defFunction[algebraic]{fonction}(x){cos(x)}{x}{}
414 \psProjection[object=courbeR2,
415 range=-4 4,
416 normal=1 0 1 45 ,
417 function=fonction](1.414,0,1.414)
418 \end{pspicture}
419 \end{minipage}
420 \end{center}
421
422 %\newpage
423 In the second figure, the normal (represented in red) is identical
424 to the one in the first figure, but the plane is rotated 45
425 degrees around that normal.
426
427
428 \subsubsection{Method 3: defining the normal by the images of \textit{i}
429 and \textit{k}}
430
431 In this case \texttt{\Lkeyword{normal}=ix iy iz kx ky kz}, the argument
432 takes six values: the components of the images of
433 $\overrightarrow{i}$ and $\overrightarrow{k}$, with:
434 $\overrightarrow{J}=\overrightarrow{K}\wedge \overrightarrow{I}$.
435
436 \begin{center}
437 \begin{minipage}{0.34\linewidth}
438 \psset{unit=0.5}
439 \centerline{\texttt{[normal=0 1 0 1 0 0]}}
440
441 \begin{pspicture}(-6,-6)(6,7)%
442 \psframe*[linecolor=blue!50](-6,-6)(6,6)
443 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70}
444 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
445 \psSolid[object=grille,base=-4 4 -4 4]%
446 \psSolid[object=grille,base=-4 4 -4 4,action=draw,RotX=90,RotZ=90]}%
447 \defFunction[algebraic]{fonction}(x){x}{x*sin(x)}{}
448 \axesIIID(0,0,0)(4,4,4)
449 \psProjection[object=chemin,
450 linewidth=.1,
451 linecolor=green,
452 normal=0 1 0 1 0 0,
453 path=
454 newpath
455 0 0 smoveto
456 1 0 slineto]
457 \psProjection[object=chemin,
458 linewidth=.1,
459 linecolor=blue,
460 normal=0 1 0 1 0 0,
461 path=
462 newpath
463 0 0 smoveto
464 0 1 slineto]
465 \psProjection[object=chemin,
466 linewidth=.2,
467 linecolor=red,
468 normal=0 0 1,
469 path=
470 newpath
471 0 0 smoveto
472 1 0 slineto]
473 \psProjection[object=courbeR2,
474 range=-4 4,
475 linecolor=green,
476 normal=0 1 0 1 0 0,
477 function=fonction]
478 \end{pspicture}
479 \end{minipage}
480 \hfil
481 \begin{minipage}{0.34\linewidth}
482 \psset{unit=0.5}
483 \centerline{\texttt{[normal=-1 1 0 1 1 2 ]}}
484
485 \begin{pspicture}(-6,-6)(6,7)%
486 \psframe*[linecolor=blue!50](-6,-6)(6,6)
487 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70}
488 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
489 \psSolid[object=grille,base=-4 4 -4 4]}%
490 \defFunction[algebraic]{fonction}(x){x}{x*sin(x)}{}
491 \axesIIID(0,0,0)(4,4,4)
492 \psProjection[object=chemin,
493 linewidth=.1,
494 linecolor=green,
495 normal=-1 1 0 1 1 2 ,
496 path=
497 newpath
498 0 0 smoveto
499 1 0 slineto]
500 \psProjection[object=chemin,
501 linewidth=.1,
502 linecolor=blue,
503 normal=-1 1 0 1 1 2 ,
504 path=
505 newpath
506 0 0 smoveto
507 0 1 slineto]
508 \psPoint(0,0,0){O}\psPoint(0.4,0.4,0.8){K}
509 \psline[linewidth=.1,linecolor=red](O)(K)
510 \psProjection[object=courbeR2,
511 range=-4 4,
512 linecolor={[cmyk]{1,0,1,0.5}},
513 normal=-1 1 0 1 1 2 ,
514 function=fonction]
515 \psProjection[object=chemin,
516 linewidth=.02,
517 linecolor=red,
518 normal=-1 1 0 1 1 2,
519 path=newpath
520 -4 1 4
521 {-4 exch smoveto
522 8 0 srlineto} for
523 -4 1 4
524 {-4 smoveto
525 0 8 srlineto} for]
526 \end{pspicture}
527 \end{minipage}
528 \end{center}
529
530
531 \newpage
532 \subsubsection{Method 4: defining the normal by the images of
533 \textit{i}, \textit{k} and an angle of rotation}
534
535 In this case \texttt{\Lkeyword{normal}=ix iy iz kx ky kz phi}, the argument
536 takes seven values: the components of the images of
537 $\overrightarrow{i}$, $\overrightarrow{k}$ and the angle of
538 rotation (in degrees) around the normal, with:
539 $\overrightarrow{J}=\overrightarrow{K}\wedge \overrightarrow{I}$.
540
541 \begin{center}
542 \begin{minipage}{0.34\linewidth}
543 \psset{unit=0.5}
544 \centerline{\texttt{[normal=0 1 0 1 0 0 90]}}
545
546 \begin{pspicture}(-6,-6)(6,7)%
547 \psframe*[linecolor=blue!50](-6,-6)(6,6)
548 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70}
549 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
550 \psSolid[object=grille,base=-4 4 -4 4]%
551 \psSolid[object=grille,base=-4 4 -4 4,action=draw,RotX=90,RotZ=90]}%
552 \defFunction[algebraic]{fonction}(x){x}{x*sin(x)}{}
553 \axesIIID(0,0,0)(4,4,4)
554 \psProjection[object=chemin,
555 linewidth=.1,
556 linecolor=green,
557 normal=0 1 0 1 0 0 90,
558 path=
559 0 0 smoveto
560 1 0 slineto]
561 \psProjection[object=chemin,
562 linewidth=.1,
563 linecolor=blue,
564 normal=0 1 0 1 0 0 90,
565 path=
566 0 0 smoveto
567 0 1 slineto]
568 \psProjection[object=chemin,
569 linewidth=.2,
570 linecolor=red,
571 normal=0 0 1,
572 path=
573 0 0 smoveto
574 1 0 slineto]
575 \psProjection[object=courbeR2,
576 range=-4 4,
577 linecolor=green,
578 normal=0 1 0 1 0 0 90,
579 function=fonction]
580 \end{pspicture}
581 \end{minipage}
582 \hfil
583 \begin{minipage}{0.34\linewidth}
584 \psset{unit=0.5}
585 \centerline{\texttt{[normal=-1 1 0 1 1 2 90]}}
586
587 \begin{pspicture}(-6,-6)(6,7)%
588 \psframe*[linecolor=blue!50](-6,-6)(6,6)
589 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70}
590 {\psset{linewidth=0.5\pslinewidth,linecolor=gray}
591 \psSolid[object=grille,base=-4 4 -4 4]}%
592 \defFunction[algebraic]{fonction}(x){x}{x*sin(x)}{}
593 \axesIIID(0,0,0)(4,4,4)
594 \psProjection[object=chemin,
595 linewidth=.1,
596 linecolor=green,
597 normal=-1 1 0 1 1 2 90,
598 path=newpath
599 0 0 smoveto
600 1 0 slineto]
601 \psProjection[object=chemin,
602 linewidth=.1,
603 linecolor=blue,
604 normal=-1 1 0 1 1 2 90,
605 path=newpath
606 0 0 smoveto
607 0 1 slineto]
608 \psPoint(0,0,0){O}\psPoint(0.4,0.4,0.8){K}
609 \psline[linewidth=.1,linecolor=red](O)(K)
610 \psProjection[object=courbeR2,
611 range=-4 4,
612 linecolor={[cmyk]{1,0,1,0.5}},
613 normal=-1 1 0 1 1 2 90,
614 function=fonction]
615 \psProjection[object=chemin,
616 linewidth=.02,
617 linecolor=red,
618 normal=-1 1 0 1 1 2,
619 path=newpath
620 -4 1 4
621 {-4 exch smoveto
622 8 0 srlineto} for
623 -4 1 4
624 {-4 smoveto
625 0 8 srlineto} for]
626 \end{pspicture}
627 \end{minipage}
628 \end{center}
629
630
631 \endinput

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.