\documentclass{article}
\usepackage{pst-solides3d,pst-node,pst-plot,multido,url}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{colortbl}
\usepackage{array}
\usepackage[a4paper,bottom=2.5cm,top=2cm]{geometry}
%%\usepackage[frenchle]{babel}
\makeatletter

\title{\texttt{pst-solides3d} :\\
       Test}
\date{\today }
\begin{document}
\maketitle

\section {Test plan de projection}

\begin{pspicture}(-6,-5)(6,8)%
\psframe*[linecolor=blue!50](-6,-5)(6,7)
\psset{lightsrc=viewpoint,viewpoint=50 30 15,Decran=60}
\psset{solidmemory}
\defFunction[algebraic]{F1}(x){3*sin(x)}{}{}
%% definition des plans
%% exemple 1
\psSolid[object=plantype,
   definition=equation,
   args={[1 0 0 0] 90},
   base=-4 4 -3 3,
   name=monplanA,
]
%% exemple 2
\psSolid[object=plantype,
   definition=normalpoint,
   args={1 1 2 [1 1 2 180]},
   base=-4 4 -3 3,
   name=monplanB,
]
\psset{plan=monplanA}
%% dessin du plan
\psSolid[object=plan,
   definition=plantype,
   args=monplanA,
   fillcolor=white,
   linecolor=yellow,
   plangrid,
   planmarks,
   showBase,
%   action=draw,
]
%% %% dessin des accessoires" du plan : quadrillage, graduations, base
%% \psSolid[object=plan,
%%    definition=plantype,
%%    args=monplan,
%%    action=none,
%% ]
%% projete d'un chemin circulaire hachure
\psProjection[object=chemin,
   fillstyle=hlines,hatchcolor=yellow,
   linecolor=blue,
   path=2 0 1 cercle
]
%% projete courbe de fonction numerique
\psProjection[object=courbe,
   range=-4 4,resolution=720,
   linecolor=red,
   function=F1]
%% projete d'un texte
\psProjection[object=texte,
   fontsize=20,linecolor=red,
   text=Yes !,
](-3,2)%
%% projete et nommage d'un point
\psProjection[object=point,
   args=-2 -1,
   name=A,
   text=A,
   linecolor=red,
   pos=uc,
]
%% projete et nommage d'un point
\psProjection[object=point,
   args=1 2,
   name=B,
   text=B,
   linecolor=blue,
   pos=ur,
]
%% calcul d'un milieu
\psProjection[object=point,
   definition=milieu,
   args=A B,
   name=C,
   text=C,
   pos=uc
]
%% calcul d'un symetrique
\psProjection[object=point,
   definition=sympoint,
   args=A 0 0,
   name=D,
   text=D,
   pos=uc
]
\psProjection[object=vecteur,
   args=1 1,
%   action=none,
   name=U,
   linestyle=dashed,
   linecolor=orange,
](A,)%
%% point E tel que vect(AE) = U
\psProjection[object=point,
   definition=translatepoint,
   args=A U,
   name=E,
   text=E,
   pos=uc
]
%% une droite
\psProjection[object=droite,
   args=A B,
   name=D1,
]
%% une autre droite
\psProjection[object=droite,
   args=E D,
   name=D2,
]
%% point F = D1 inter D2
\psProjection[object=point,
   definition=interdroites,
   args=D1 D2,
   name=F,
   text=F,
   pos=uc
]
%% calcul d'un parallelogramme
\psProjection[object=point,
   definition=parallelopoint,
   args=C B D,
   name=G,
   text=G,
   pos=uc
]
%% dessin d'un polygone
\psProjection[object=polygone,
   args=C B D G,
]
\composeSolid
\axesIIID(4,4,2)(5,5,6)
\end{pspicture}

\end{document}
