\documentclass{article}
\usepackage{pst-solides3d,pst-node,multido}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\makeatletter
\def\psPoint{\def\pst@par{}\pst@object{psPoint}}
\def\psPoint@i(#1)#2{{% coordonnées cartésiennes
  \begin@ClosedObj
\pnode(!
    \tx@optionssolides
    SolidesDict begin
    #1
   3dto2d cm_1 exch cm_1 exch
   end){#2}%
   \end@ClosedObj
  }\ignorespaces%
}
\makeatother
\def\grille{% quadrillage du plan Oxy
\multido{\ix=-5+1}{11}{%
    \psPoint(\ix\space -5 0){A}
    \psPoint(\ix\space 5 0){B}
    \psline(A)(B)}
\multido{\iy=-5+1}{11}{%
    \psPoint(-5 \iy\space 0){A}
    \psPoint(5 \iy\space 0){B}
    \psline(A)(B)}
    \psPoint(0 0 0){O}
    \psPoint(5 0 0){X}
    \psPoint(0 5 0){Y}
    \psPoint(0 0 8){Z}
    \psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(O)(X)
    \psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(O)(Y)
    \psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(O)(Z)
    \uput[r](X){\textcolor{blue}{$x$}}\uput[u](Y){\textcolor{blue}{$y$}}%
    \uput[r](Z){\textcolor{blue}{$z$}}\uput[u](O){\textcolor{blue}{$O$}}}
\pagestyle{empty}
\date{24 septembre }
\author{JPV \& ML}
\title{tests}

\begin{document}
\maketitle

\begin{enumerate}
  \item prisme droit et prisme oblique
\end{enumerate}

\begin{center}
%%
\psset{unit=0.5}
\psset{lightsrc=10 5 50,SphericalCoor=true,viewpoint=50 20 50,Decran=50}
%%
\begin{minipage}{5cm}
\begin{pspicture*}(-5,-4)(5,6)
\psframe(-5,-4)(5,6)
\grille
\psSolid[object=prism,action=draw,linecolor=red,linewidth=0.1](0,0,0)
\end{pspicture*}
$\backslash$\texttt{psSolid[object=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{prism}}]}
\end{minipage}
\hfill
\begin{minipage}{5cm}
\begin{pspicture*}(-5,-4)(5,6)
\psframe(-5,-4)(5,6)
\grille
\psSolid[object=prism,action=draw,linecolor=green,linewidth=0.1,axe=0 0.5 1](0,0,0)
\end{pspicture*}
$\backslash$\texttt{psSolid[object=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{prism}},%
axe=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{0 0.5 1}}]}
\end{minipage}
\end{center}

\begin{center}
\psset{unit=0.5}
\psset{lightsrc=10 5 50,SphericalCoor=true,viewpoint=50 20 50,Decran=50}
\begin{minipage}{5cm}
\begin{pspicture*}(-5,-4)(5,6)
\psframe(-5,-4)(5,6)
\grille
\psPoint(0 -2 0){P1}\psPoint(1 -1 0){P2}\psPoint(0 1 0){P3}\psPoint(-1 0 0){P4}
\pspolygon[fillstyle=vlines](P1)(P2)(O)(P3)(P4)
\psSolid[object=prism,h=5,base=0 -2 1 -1 0 0 0 1 -1 0](0,0,2)
\psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(O)(Z)
\end{pspicture*}
\texttt{[base=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{0 -2 1 -1 0 0 0 1 -1 0}},h=5]}
\end{minipage}
\hfill
\begin{minipage}{5cm}
\begin{pspicture*}(-5,-4)(5,6)
\psframe(-5,-4)(5,6)
\grille
\psSolid[object=prism,axe=0 0.5 1,h=8,base=0 -2 1 -1 0 0 0 1 -1 0](0,0,0)
\end{pspicture*}
\texttt{[base=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{0 -2 1 -1 0 0 0 1 -1 0}},%
axe=\psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{0 0.5 1}},h=8]}
\end{minipage}
\end{center}
\end{document}
