\section {Points}

\subsection {Définition directe}

L'objet \Cadre{point} permet de définir un point. Sous sa forme la
plus simple, on peut utiliser les valeurs $(x,y)$ de ses coordonnées
directement dans la commande \verb+\psProjection+ ou par le biais de
l'argument \verb+args+.

Ainsi les $2$ commandes
\verb+\psProjection[object=point](1,2)+
et 
\verb+\psProjection[object=point,arg=1 2]+
sont équivalentes et aboutissent au tracé du point de coordonnées
$(1,2)$ sur le plan considéré.

\subsection {Labels}

L'option \Cadre{[text=$str$]} permet de spécifier une chaîne de
caractère à projeter sur le plan de référence au voisinage du point
considéré. La position d'affichage par rapport au point se fait avec
l'argument \Cadre{[pos=$value$]} où $value$ est un élément de $\{$ul,
cl, bl, dl, ub, cb, bb, db, uc, cc, bc, dc, ur, cr, br, dr$\}$.

L'utilisation du paramètre \verb+pos+ est détaillée dans un paragraphe
ultérieur.

\begin{multicols}{2}

\begin{pspicture}(-3,-3)(4,3.5)%
\psframe*[linecolor=blue!50](-3,-3)(4,3.5)
\psset{viewpoint=50 30 15,Decran=60}
\psset{solidmemory}
%% definition du plan de projection
\psSolid[object=plan,
   definition=equation,
   args={[1 0 0 0] 90},
   name=monplan,
   planmarks,
   showBase,
]
\psset{plan=monplan}
%% definition du point A
\psProjection[object=point,
   args=-2 1,
   text=A,
   pos=ur,
]
\psProjection[object=point,
   text=B,
   pos=ur,
](2,1)
\composeSolid
\axesIIID(4,2,2)(5,4,3)
\end{pspicture}

\columnbreak

\begin{gbar}
\begin{verbatim}
\psset{solidmemory}
%% definition et dessin du plan de projection
\psSolid[object=plan,
   definition=equation,
   args={[1 0 0 0] 90},
   name=monplan,
   planmarks,
   showBase,]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=point,args=-2 1,
   text=A,pos=ur,]
\psProjection[object=point,text=B,pos=ur,
](2,1)
\composeSolid
\end{verbatim}
\end{gbar}

\end{multicols}


\subsection {Nommage et sauvegarde d'un point}

Si l'option \Cadre{[name=$str$]} est présente, les coordonnées $(x,y)$
du point considéré seront sauvegardées sous le nom désigné par $str$
et pourront être réutilisées.  

\subsection {Autres définitions}

Il existe d'autres méthodes pour définir un point 2d. L'argument
\Cadre{definition}, couplé à l'argument \Cadre{args} permet d'utiliser
les différentes méthodes supportées~:

\begin{itemize}

\item \Cadre {[definition=milieu]} ; 
\verb+args=+$A$ $B$. Le milieu du segment $[AB]$

\item \Cadre {[definition=parallelopoint]} ; 
\verb+args=+$A$ $B$ $C$. Le point $D$ tel que $(ABCD)$ soit un
parallélogramme. 

\item \Cadre {[definition=translatepoint]} ; 
\verb+args=+$M$ $u$. L'image du point $M$ par la translation de vecteur
$\vec u$

\item \Cadre {[definition=rotatepoint]} ; 
\verb+args=+$M$ $I$ $r$. Le point image de $M$ par la rotation de centre $I$
et d'angle $r$ (en degrés)

\item \Cadre {[definition=hompoint]} ; 
\verb+args=+$M$ $A$ $k$. Le point $M'$  vérifiant $\overrightarrow
     {AM'} = k \overrightarrow {AM}$

\item \Cadre {[definition=orthoproj]} ; 
\verb+args=+$M$ $d$. Le projeté orthogonal du point $M$ sur la droite $d$.

\item \Cadre {[definition=projx]} ; 
\verb+args=+$M$. Le projeté du point $M$ sur l'axe $Ox$ .

\item \Cadre {[definition=projy]} ; 
\verb+args=+$M$. Le projeté du point $M$ sur l'axe $Oy$ .

\item \Cadre {[definition=sympoint]} ; 
\verb+args=+$M$ $I$. Le symétrique du point $M$ par rapport au point
$I$.

\item \Cadre {[definition=axesympoint]} ; 
\verb+args=+$M$ $d$. Le symétrique du point $M$ par rapport à la
droite $d$. 

\item \Cadre {[definition=cpoint]} ; 
\verb+args=+$\alpha $ $C$. Le point correspondant à l'angle $\alpha $
du cercle $C$

\item \Cadre {[definition=xdpoint]} ; 
\verb+args=+$x$ $d$. Le point d''abscisse $x$ de la droite $d$.

\item \Cadre {[definition=ydpoint]} ; 
\verb+args=+$y$ $d$. Le point d'ordonnée $y$ de la droite $d$.

\item \Cadre {[definition=interdroite]} ; 
\verb+args=+ $d_1$ $d_2$. Le point d'intersection des droites $d_1$ et
$d_2$. 

\item \Cadre {[definition=interdroitecercle]} ; 
\verb+args=+ $d$ $I$ $r$. Les points d'intersection de la droite $d$
avec le cercle de centre $I$ de rayon $r$.

\end{itemize}

Dans l'exemple ci-dessous, on définit et on nomme $3$ points $A$, $B$
et $C$, puis on calcule le point $D$ tel que $(ABCD)$ parallélogramme
ainsi que le centre de ce parallélogramme.

\begin{multicols}{2}

\begin{pspicture}(-3,-3)(4,3.5)%
\psframe*[linecolor=blue!50](-3,-3)(4,3.5)
\psset{viewpoint=50 30 15,Decran=60}
\psset{solidmemory}
%% definition du plan de projection
\psSolid[object=plan,
   definition=equation,
   args={[1 0 0 0] 90},
   name=monplan,
   planmarks,
   showbase,
]
\psset{plan=monplan}
%% definition du point A
\psProjection[object=point,
   text=A,pos=ur,name=A,
](-1,.7)
%% definition du point B
\psProjection[object=point,
   text=B,pos=ur,name=B,
](2,1)
%% definition du point C
\psProjection[object=point,
   text=C,pos=ur,name=C,
](1,-1.5)
%% definition du point D
\psProjection[object=point,
   definition=parallelopoint,
   args=A B C,
   text=D,pos=ur,name=D,
]
%% definition du point G
\psProjection[object=point,
   definition=milieu,
   args=D B,
]
\composeSolid
\axesIIID(4,2,2)(5,4,3)
\end{pspicture}

\columnbreak

\begin{gbar}
\begin{verbatim}
\psProjection[object=point,
   text=A,pos=ur,name=A,](-1,.7)
\psProjection[object=point,
   text=B,pos=ur,name=B,](2,1)
\psProjection[object=point,
   text=C,pos=ur,name=C,](1,-1.5)
\psProjection[object=point,
   definition=parallelopoint,
   args=A B C,
   text=D,pos=ur,name=D,]
\psProjection[object=point,
   definition=milieu,
   args=D B,]
\end{verbatim}
\end{gbar}

\end{multicols}

