\section{Polygons} \subsection{Direct definition} The object \Lkeyword{polygone} allows us to define a \Index{polygon}. We use the option \Lkeyword{args} to specify the list of vertices: \texttt{[object=polygone,args=$A_0$ $A_1$ \ldots $A_n$]} There are other ways to define a polygon in 2D. The options \Lkeyword{definition} and \Lkeyword{args} support these methods: \begin{itemize} %% syntaxe : pol u --> pol' \item \texttt{\Lkeyword{definition}=\Lkeyword{translatepol}}; \texttt{\Lkeyword{args}=$pol$ $u$}. Translation of the polygon $pol$ by the vector $\vec u$ %% syntaxe : pol u --> pol' \item \texttt{\Lkeyword{definition}=\Lkeyword{rotatepol}}; \texttt{\Lkeyword{args}=$pol$ $I$ $\alpha $}. Image of the polygon $pol$ after a rotation with centre $I$ and angle $\alpha $ %% syntaxe : pol I alpha --> pol' \item \texttt{\Lkeyword{definition}=\Lkeyword{hompol}}; \texttt{\Lkeyword{args}=$pol$ $I$ $\alpha $}. Image of the polygon $pol$ after a homothety (dilation) with centre $I$ and ratio $\alpha$. %% syntaxe : pol I --> pol' \item \texttt{\Lkeyword{definition}=\Lkeyword{sympol}}; \texttt{\Lkeyword{args}=$pol$ $I$}. Image of the polygon $pol$ after a reflection in the point $I$. %% syntaxe : pol D --> pol' \item \texttt{\Lkeyword{definition}=\Lkeyword{axesympol}}; \texttt{\Lkeyword{args}=$pol$ $d$}. Image of the polygon $pol$ after a reflection in the line $d$. \end{itemize} In the following example we define, name and draw the polygon with vertices $(-1,0)$, $(-3, 1)$, $(0, 2)$, then---in blue---the image after a rotation about the point $(-1,0)$ through an angle $-45$. Finally, we translate the polygon with the vector shift $(2,-2)$ by directly incorporating \textit{jps code} within the argument of \Lkeyword{definition}. \begin{LTXexample}[width=7.5cm] \begin{pspicture}(-3,-3)(4,3.5)% \psframe*[linecolor=blue!50](-3,-3)(4,3.5) \psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60} \psset{solidmemory} \psSolid[object=grille, base=-3 0 -3 3, linewidth=0.5\pslinewidth,linecolor=gray,] %% definition du plan de projection \psSolid[object=plan, definition=equation, args={[1 0 0 0] 90}, base=-3.2 3.2 -2.2 2.2, name=monplan, planmarks, ] \psset{plan=monplan} \psSolid[object=plan, args=monplan, linecolor=gray!40, plangrid, action=none, ] \psProjection[object=polygone, args=-1 0 -3 1 0 2, name=P, ] \psProjection[object=polygone, definition=rotatepol, linecolor=blue, args=P -1 0 -45, ] %% du code jps dans la definition \psProjection[object=polygone, definition={2 -2 addv} papply, fillstyle=hlines,hatchcolor=yellow, linestyle=dashed, args=P, ] \composeSolid \axesIIID(4,2,2)(5,4,3) \end{pspicture} \end{LTXexample} \endinput