Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / par-projectionpolygone.tex
1 \section {Polygones}
2
3 L'objet \Cadre{polygone} permet de définir un polygone. Sous sa forme
4 usuelle, on utilise l'argument \verb+args+ pour spécifier la liste des
5 points~:
6 \Cadre{[object=polygone,args=$A_0$ $A_1$ \ldots $A_n$]}
7
8 Il existe d'autres méthodes pour définir un polygone 2d. L'argument
9 \Cadre{definition}, couplé à l'argument \Cadre{args} permet d'utiliser
10 les différentes méthodes supportées~:
11
12 \begin{itemize}
13
14 %% syntaxe : pol u --> pol'
15 \item \Cadre {[definition=translatepol]} ;
16 \verb+args=+$pol$ $u$. Translaté du polygone $pol$ par le vecteur
17 $\vec u$
18
19 %% syntaxe : pol u --> pol'
20 \item \Cadre {[definition=rotatepol]} ;
21 \verb+args=+$pol$ $I$ $\alpha $. Image du polygone pol par la rotation
22 de centre $I$ et d'angle $\alpha $
23
24 %% syntaxe : pol I alpha --> pol'
25 \item \Cadre {[definition=hompol]} ;
26 \verb+args=+$pol$ $I$ $\alpha $. Image du polygone $pol$ par
27 l'homothétie de centre $I$ et de rapport $\alpha $.
28
29 %% syntaxe : pol I --> pol'
30 \item \Cadre {[definition=sympol]} ;
31 \verb+args=+$pol$ $I$. Image du polygone $pol$ par
32 la symétrie de centre $I$.
33
34 %% syntaxe : pol D --> pol'
35 \item \Cadre {[definition=axesympol]} ;
36 \verb+args=+$pol$ $d$. Image du polygone $pol$ par
37 la symétrie axiale de droite $d$.
38
39 \end{itemize}
40
41 Dans l'exemple ci-dessous, on définit, on nomme et on trace le
42 polygone de sommets $(1,0)$, $(-3, 1)$, $(0, 2)$ puis on trace en bleu
43 son image par la rotation de centre $(-1,0)$ et d'angle $-45$. Enfin,
44 on représente le translaté du polygone d'origine par le vecteur
45 $(2,-2)$, et ce en incorporant directement du code jps dans l'argument
46 \verb+[definition=]+.
47
48 \begin{multicols}{2}
49
50 \begin{pspicture}(-3,-3)(4,3.5)%
51 \psframe*[linecolor=blue!50](-3,-3)(4,3.5)
52 \psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60}
53 \psset{solidmemory}
54 \psSolid[object=grille,
55 base=-3 0 -3 3,
56 linewidth=0.5\pslinewidth,linecolor=gray,]
57 %% definition du plan de projection
58 \psSolid[object=plan,
59 definition=equation,
60 args={[1 0 0 0] 90},
61 base=-3.2 3.2 -2.2 2.2,
62 name=monplan,
63 planmarks,
64 ]
65 \psset{plan=monplan}
66 \psSolid[object=plan,
67 args=monplan,
68 linecolor=gray!40,
69 plangrid,
70 action=none,
71 ]
72 \psProjection[object=polygone,
73 args=-1 0 -3 1 0 2,
74 name=P,
75 ]
76 \psProjection[object=polygone,
77 definition=rotatepol,
78 linecolor=blue,
79 args=P -1 0 -45,
80 ]
81 %% du code jps dans la definition
82 \psProjection[object=polygone,
83 definition={2 -2 addv} papply,
84 fillstyle=hlines,hatchcolor=yellow,
85 linestyle=dashed,
86 args=P,
87 ]
88 \composeSolid
89 \axesIIID(4,2,2)(5,4,3)
90 \end{pspicture}
91 \columnbreak
92
93 \begin{gbar}
94 \begin{verbatim}
95 \psProjection[object=polygone,
96 args=-1 0 -3 1 0 2,
97 name=P,]
98 \psProjection[object=polygone,
99 definition=rotatepol,
100 linecolor=blue,
101 args=P -1 0 -45,]
102 %% du code jps dans la definition
103 \psProjection[object=polygone,
104 definition={2 -2 addv} papply,
105 fillstyle=hlines,hatchcolor=yellow,
106 linestyle=dashed,
107 args=P,]
108 \end{verbatim}
109 \end{gbar}
110 \end{multicols}

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.