Changeset 78 for trunk

Show
Ignore:
Timestamp:
07/03/08 10:22:16 (6 months ago)
Author:
jpv
Message:

Reprise de la doc sur les projections. Ajout des opérations sur les polygones.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/doc/par-definirplanquelconque.tex

    r66 r78  
     1\section {Définition du plan de projection} 
     2 
     3La définition du plan de projection se fait avec l'argument 
     4\Cadre{[plan=$plantype$]} qui attend un argument de \textsl{type 
     5plan}. La création d'un tel argument passe obligatoirement par la 
     6commande \verb+\psSolid[object=plantype]+ (voir le paragraphe dédié au 
     7chapitre 4 et l'exemple d'utilisation ci dessous au sous-paragraphe 
     8\textsl{Labels\/} du paragraphe \textsl{Points}). 
     9 
     10 
     11 
     12\endinput 
    113\section {Définir un plan quelconque de projection} 
    214 
  • trunk/doc/par-plan.tex

    r66 r78  
    115115Ces options peuvent être utilisées, même si le plan n'est pas 
    116116représenté. 
     117 
     118On dispose enfin de l'argument \Cadre{[phi]} (valeur $0$ par défaut) 
     119qui spécifie l'angle de rotation (en degrés) du plan autour de sa 
     120normale après sa définition première. 
    117121 
    118122\subsection {Définir un plan à partir d'une équation cartésienne} 
     
    413417On utilise \Cadre{[definition=plantype]} et 
    414418\Cadre{[args=\textsl{name}]} où \textsl {name} désigne le nom de 
    415 l'objet de type \textsl{plan} 
     419l'objet de type \textsl{plan}.  
    416420 
    417421\begin{multicols}{2} 
     
    448452\end{multicols} 
    449453 
    450 \subsection {Définir un objet de type plan} 
     454\subsection {Définition d'un plan à partir d'une face de solide} 
     455 
     456On utilise \Cadre{[definition=solidface]} avec les arguments 
     457\Cadre{[args=$name$ $i$]} où $name$ est un nom désignant le solide et 
     458$i$ est l'indice de la face considérée. On prend pour origine le 
     459centre de la face considérée. 
     460 
     461Dans l'exemple ci-dessous, on définit le plan par la face d'indice $0$ 
     462du cube nommé $A$. 
     463 
     464\begin{multicols}{2} 
     465 
     466\begin{pspicture*}(-4,-2)(4,2.3) 
     467\psframe(-4,-2)(4,2.3) 
     468\psset{SphericalCoor=true,viewpoint=10 18 20,Decran=10} 
     469\psset{solidmemory} 
     470\psSolid[object=cube,a=2,fontsize=20,numfaces=all,name=A] 
     471\psSolid[object=plan, 
     472   definition=solidface, 
     473   args=A 0, 
     474   showBase, 
     475
     476\composeSolid 
     477\end{pspicture*} 
     478 
     479\columnbreak 
     480 
     481\begin{verbatim} 
     482\psset{solidmemory} 
     483\psSolid[object=cube,a=2,fontsize=20,numfaces=all, 
     484   name=A] 
     485\psSolid[object=plan, 
     486   definition=solidface, 
     487   args=A 0, 
     488   showBase, 
     489
     490\end{verbatim} 
     491\end{multicols} 
     492 
     493Si l'utilisateur précise les coordonnées $(x, y, z)$ dans la macro 
     494\verb+\psSolid[...](+$x,y,z$\verb+)+, alors le plan construit est 
     495parallèle à la face d'indice $i$ du solide $name$, et il passe par le 
     496point $(x, y, z)$ qui est pris pour origine. 
     497 
     498\begin{multicols}{2} 
     499 
     500\begin{pspicture*}(-4,-2)(4,3.5) 
     501\psframe(-4,-2)(4,3.5) 
     502\psset{SphericalCoor=true,viewpoint=10 18 25,Decran=10} 
     503\psset{solidmemory} 
     504\psSolid[object=cube,a=2,fontsize=20,numfaces=all,name=A] 
     505\psSolid[object=plan, 
     506   definition=solidface, 
     507   args=A 0, 
     508   showBase, 
     509](0,0,1) 
     510\composeSolid 
     511\end{pspicture*} 
     512 
     513\columnbreak 
     514 
     515\begin{verbatim} 
     516\psset{solidmemory} 
     517\psSolid[object=cube,a=2,fontsize=20,numfaces=all, 
     518   name=A] 
     519\psSolid[object=plan, 
     520   definition=solidface, 
     521   args=A 0, 
     522   showBase, 
     523](0,0,1) 
     524\end{verbatim} 
     525\end{multicols} 
     526 
     527\subsection {Définir un objet de type plan orienté} 
    451528 
    452529Lorsque l'on doit réutiliser plusieurs fois un même plan affine, il 
     
    465542planes ou des plans de projection. 
    466543 
    467 \dbend 
    468 Ne pas oublier d'activer l'option \texttt{solidmemory} pour pouvoir 
    469 réutiliser cet objet. 
    470  
    471544\bigskip 
    472545 
     
    481554] 
    482555\end{verbatim} 
     556 
     557\llap {\dbend } La fabrication d'une telle structure est indispensable 
     558pour pouvoir utiliser la macro \verb+\psProjection+. Dans tous les 
     559cas, ne pas oublier d'activer l'option \Cadre{\texttt{solidmemory}} pour 
     560pouvoir réutiliser cet objet.  
    483561 
    484562 
  • trunk/doc/par-projectioncourbe.tex

    r66 r78  
    1 \section {Projection d'une courbe de fonction} 
    2  
    3 Les exemple précédents l'ont déjà montré, il s'agit de représenter une 
    4 fonction dans le plan défini par les méthodes précisées dans les 
    5 paragraphes précédents.  
    6  
    7 La courbe peut-être définie de trois façons : soit par une équation 
    8 simple, soit par deux équations paramétriques, soit enfin par un 
    9 chemin (liste de coordonnées de points).  
     1\section {Courbes de fonction numériques et courbes paramétrées} 
    102 
    113\subsection {Courbe de fonction numérique} 
    124 
    13 La courbe sera définie par une équation, soit en notation algébrique 
     5L'objet \Cadre{courbe} permet d'obtenir le tracé de la courbe d'une 
     6fonction numérique dont le nom est passée \textsl{via\/} l'argument 
     7\Cadre{function}. Cette fonction à valeurs dans \textbf{R} ayant été 
     8préalablement définie avec la macro \verb+\defFunction+ vue plus avant 
     9dans ce guide.  
     10 
     11On pourra donc définir cette fonction, soit en notation algébrique 
    1412avec l'option  \Cadre{[algebraic]}, soit en notation polonaise 
    1513inversée (langage postscript), avec une variable quelconque 
    16 $(x,u,t\ldots)$, par une expression de la forme suivant le cas :  
     14$(x,u,t\ldots)$, par une expression de la forme suivant le cas~:  
    1715 
    18 %% \begin{boxedverbatim
     16\begin{gbar
    1917\begin{verbatim}  
    2018\defFunction[algebraic]{nom_fonction}(x){x*sin(x)}{}{} 
    2119\end{verbatim}   
    22 %% \end{boxedverbatim
     20\end{gbar
    2321 
    24 %% \begin{boxedverbatim
     22\begin{gbar
    2523\begin{verbatim}  
    2624\defFunction{nom_fonction}(x){x dup sin mul}{}{} 
    2725\end{verbatim}   
    28 %% \end{boxedverbatim
     26\end{gbar
    2927 
    3028Cette expression dans doit être incluse dans l'environnement 
    3129\Cadre{pspicture}. 
    3230 
    33 Les limites de la variable sont définies dans l'option \Cadre{range=-4 4} 
     31Les limites de la variable sont définies dans l'option 
     32\Cadre{range=$xmin$ $xmax$}, et l'option \Cadre{argument=$n$} permet 
     33de préciser le nombre de points calculés pour le dessin de la courbe. 
    3434 
    35 Le tracé de la fonction ainsi définie fait appel à l'objet 
    36 \Cadre{courbe} et à l'option \Cadre{function}.  
     35\begin{multicols}{2} 
    3736 
    38 %% \begin{boxedverbatim} 
    39 \begin{verbatim}  
    40 \psProjection[ 
    41    object=courbe, 
    42    range=-4 4, 
    43    linecolor={[cmyk]{1,0,1,0.5}}, 
    44    normal=-1 1 0 1 1 2 , 
    45    function=nom_fonction] 
    46 \end{verbatim}   
    47 %% \end{boxedverbatim} 
     37\begin{pspicture}(-3,-3)(4,3.5)% 
     38\psframe*[linecolor=blue!50](-3,-3)(4,3.5) 
     39\psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60} 
     40\psset{solidmemory} 
     41%% definition du plan de projection 
     42\psSolid[object=plantype, 
     43   definition=equation, 
     44   args={[1 0 0 0] 90}, 
     45   base=-3.2 3.2 -2.2 2.2, 
     46   name=monplan, 
     47
     48\defFunction[algebraic]{1_sin}(x){2*sin(1/x)}{}{} 
     49\psset{plan=monplan} 
     50\psSolid[object=grille, 
     51   base=-3 0 -3 3, 
     52   linewidth=0.5\pslinewidth,linecolor=gray,] 
     53%% dessin du plan 
     54\psSolid[object=plan, 
     55   definition=plantype, 
     56   args=monplan, 
     57   planmarks, 
     58   showBase, 
     59
     60\psSolid[object=plan, 
     61   definition=plantype, 
     62   args=monplan, 
     63   linecolor=gray!40, 
     64   plangrid, 
     65   action=none, 
     66
     67\psProjection[object=courbe, 
     68   linecolor=red, 
     69   range=-3 3,resolution=720, 
     70   function=1_sin, 
     71
     72\composeSolid 
     73\axesIIID(4,2,2)(5,4,3) 
     74\end{pspicture} 
    4875 
    49 Exemple : 
     76\columnbreak 
    5077 
    51 \begin{minipage}{0.4\linewidth} 
    52 \psset{unit=0.5} 
    53 \begin{pspicture}(-6,-6)(6,7)% 
    54 \psframe*[linecolor=blue!50](-6,-6)(6,6) 
    55 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=70} 
    56 {\psset{linewidth=0.5\pslinewidth,linecolor=gray} 
    57 \psSolid[object=grille,base=-4 0 -4 4] 
    58 \psSolid[object=grille,base=-4 4 -4 4,RotX=90,RotZ=90]} 
    59 \defFunction[algebraic]{1_sin}(x){3*sin(1/x)}{}{} 
    60 \psProjection[object=chemin, 
    61       linewidth=.1, 
    62       linecolor=green, 
    63       normal=0 1 0 1 0 0, 
    64       path= 
    65          newpath 
    66             0 0 smoveto 
    67             1 0 slineto] 
    68 \psProjection[object=chemin, 
    69       linewidth=.1, 
    70       linecolor=blue, 
    71       normal=0 1 0 1 0 0, 
    72       path= 
    73          newpath 
    74             0 0 smoveto 
    75             0 1 slineto] 
    76 \psPoint(0,0,0){O}\psPoint(0.4,0.4,0.8){K} 
    77 \psline[linewidth=.1,linecolor=red](O)(K) 
     78\begin{gbar} 
     79\begin{verbatim} 
     80\defFunction[algebraic]{1_sin}(x) 
     81   {2*sin(1/x)} 
     82   {} 
     83   {} 
     84\psset{plan=monplan} 
     85... 
    7886\psProjection[object=courbe, 
    79    range=-4 4,resolution=720, 
    8087   linecolor=red, 
    81    normal=0 1 0 1 0 0, 
    82    function=1_sin] 
    83 \psProjection[object=chemin, 
    84       linewidth=.02, 
    85       linecolor=red, 
    86       normal=0 1 0 1 0 0, 
    87       path=newpath 
    88           -4 1 4 
    89           {-4 exch smoveto 
    90            8 0 srlineto} for 
    91            -4 1 4 
    92           {-4 smoveto 
    93            0 8 srlineto} for 
    94             ] 
    95 \axesIIID(0,0,0)(4,4,4) 
    96 \end{pspicture} 
    97 \end{minipage} 
    98 \hfil 
    99 \begin{minipage}{0.55\linewidth} 
    100 %% \begin{boxedverbatim} 
    101 \begin{verbatim}  
    102 \defFunction[algebraic]{1_sin}(x){3*sin(1/x)}{}{} 
    103 \psProjection[ 
    104    object=courbe, 
    105    range=-4 4,resolution=720, 
    106    linecolor=red, 
    107    normal=0 1 0 1 0 0, 
    108    function=1_sin] 
    109 \end{verbatim}   
    110 %% \end{boxedverbatim} 
    111 \end{minipage} 
     88   range=-3 3,resolution=720, 
     89   function=1_sin, 
     90
     91\end{verbatim} 
     92\end{gbar} 
     93 
     94\end{multicols} 
     95 
    11296 
    11397\subsection {Courbes paramétrées} 
     
    119103Pour dessiner un cercle de rayon $3$, on  écrira : 
    120104 
    121 %% \begin{boxedverbatim
     105\begin{gbar
    122106\begin{verbatim}  
    123107\defFunction[algebraic]{cercle}(t){3*cos(t)}{3*sin(t)}{} 
    124108\end{verbatim}   
    125 %% \end{boxedverbatim
     109\end{gbar
    126110 
    127111Autre exemple : les courbes de Lissajous. 
    128112 
    129 \begin{minipage}{0.4\linewidth} 
    130 \psset{unit=0.5} 
    131 \begin{pspicture}(-6,-5)(6,8)% 
    132 \psframe*[linecolor=blue!50](-6,-5)(6,7) 
    133 \psset{lightsrc=50 20 20,viewpoint=50 30 20,Decran=60} 
    134 \defFunction[algebraic]{lissajous}(t){3*sin(0.57735*t)}{4*sin(0.707*t)}{} 
    135 \psProjection[object=chemin,fillstyle=solid,fillcolor=white, 
    136             linewidth=.005,linecolor=red, 
    137             normal=1 1 2, 
    138             path=newpath 
    139                 -4 -4 smoveto 
    140                 -4 4 slineto 
    141                 4 4 slineto 
    142                 4 -4 slineto 
    143                 closepath 
    144             ](1,1,2) 
    145 \psProjection[object=chemin, 
    146       linewidth=.1, 
    147       linecolor=green, 
    148       normal=1 1 2, 
    149       path= 
    150          newpath 
    151             0 0 smoveto 
    152             1 0 slineto](1,1,2) 
    153 \psProjection[object=chemin, 
    154       linewidth=.1, 
    155       linecolor=blue, 
    156       normal=1 1 2, 
    157       path= 
    158          newpath 
    159             0 0 smoveto 
    160             0 1 slineto](1,1,2) 
    161 \psPoint(0,0,0){O} 
    162 \psPoint(1,1,2){O1}\psPoint(1.4,1.4,2.8){K} 
    163 \psline[linewidth=.1,linecolor=red](O1)(K) 
    164 \psline[linestyle=dashed](O)(O1) 
     113 
     114\begin{multicols}{2} 
     115 
     116\begin{pspicture}(-3,-3)(4,3.5)% 
     117\psframe*[linecolor=blue!50](-3,-3)(4,3.5) 
     118\psset{lightsrc=50 20 20,viewpoint=50 30 15,Decran=60} 
     119\psset{solidmemory} 
     120%% definition du plan de projection 
     121\psSolid[object=plantype, 
     122   definition=equation, 
     123   args={[1 0 0 0] 90}, 
     124   base=-3.2 3.2 -2.2 2.2, 
     125   name=monplan, 
     126
     127\defFunction[algebraic]{F}(t){2*sin(0.57735*t)}{2*sin(0.707*t)}{} 
     128\psset{plan=monplan} 
     129\psSolid[object=grille, 
     130   base=-3 0 -3 3, 
     131   linewidth=0.5\pslinewidth,linecolor=gray,] 
     132%% dessin du plan 
     133\psSolid[object=plan, 
     134   definition=plantype, 
     135   args=monplan, 
     136   planmarks, 
     137   showBase, 
     138
     139\psSolid[object=plan, 
     140   definition=plantype, 
     141   args=monplan, 
     142   linecolor=gray!40, 
     143   plangrid, 
     144   action=none, 
     145
    165146\psProjection[object=courbeR2, 
    166147   range=-25.12 25.12,resolution=720, 
    167148   normal=1 1 2,linecolor=red, 
    168    function=lissajous](1,1,2) 
    169 \psProjection[object=chemin, 
    170       linewidth=.02, 
    171       normal=1 1 2, 
    172       path=newpath 
    173           -4 1 4 
    174           {-4 exch smoveto 
    175            8 0 srlineto} for 
    176            -4 1 4 
    177           {-4 smoveto 
    178            0 8 srlineto} for 
    179             ](1,1,2) 
    180 \axesIIID(4,4,2)(5,5,6) 
     149   function=F, 
     150
     151\composeSolid 
     152\axesIIID(4,2,2)(5,4,3) 
    181153\end{pspicture} 
    182 \end{minipage} 
    183 \hfill 
    184 \begin{minipage}{0.55\linewidth} 
    185 %% \begin{boxedverbatim} 
    186 \begin{verbatim}  
    187 \defFunction[algebraic]% 
    188 {lissajous}(t){3*sin(0.57735*t)}{4*sin(0.707*t)}{} 
    189 \psProjection[ 
    190    object=courbeR2,resolution=720, 
    191    range=-25.12 25.12, 
    192    normal=1 1 2, 
    193    linecolor=red, 
    194    function=lissajous](1,1,2) 
    195 \end{verbatim}   
    196 %% \end{boxedverbatim} 
    197 \end{minipage} 
     154 
     155\columnbreak 
     156 
     157\begin{gbar} 
     158\begin{verbatim} 
     159\defFunction[algebraic]{F}(t) 
     160   {2*sin(0.57735*t)} 
     161   {2*sin(0.707*t)} 
     162   {} 
     163\psset{plan=monplan} 
     164... 
     165\psProjection[object=courbeR2, 
     166   range=-25.12 25.12,resolution=720, 
     167   normal=1 1 2,linecolor=red, 
     168   function=F, 
     169
     170\end{verbatim} 
     171\end{gbar} 
     172 
     173\end{multicols} 
     174 
  • trunk/doc/par-projectiontexte.tex

    r66 r78  
    1 \section {Projection de texte} 
    2  
    3 La macro \verb+\psProjection+ permet également la projection de chaînes 
    4 de caractères, que ce soit sur un plan quelconque ou sur une face de 
    5 solide déjà construit, ou sur un plan parallèle à une face de solide 
    6 déjà construit. 
    7  
     1\section {Texte} 
     2 
     3L'objet \Cadre{\texttt{texte}} de la macro \verb+\psProjection+  permet 
     4de projeter des chaînes de caractères sur des plans quelconques. 
    85 
    96\subsection {Les paramètres et les options} 
    107 
    11 L'objet transmis est~: \Cadre{\texttt{object=texte}}. Il y a ensuite 
    12 $3$ paramètres : \Cadre{\texttt{[text]}} qui définit la chaîne à afficher, 
     8Il y a $3$ paramètres : \Cadre{\texttt{[text]}} qui définit la chaîne à afficher, 
    139\Cadre{\texttt{[fontsize]}}, qui donne la taille de la fonte en 
    1410points (rappelons qu'une taille de 28,45~pts correspond à 1~cm), et 
     
    115111de projection. 
    116112 
    117 Par exemple, \verb+\psProjection[...,pos=uc](0,0,0)+ indique que le 
    118 texte doit être centré par rapport au point $(0,0,0)$ et affiché 
     113Par exemple, \verb+\psProjection[...,pos=uc](0,0)+ indique que le 
     114texte doit être centré par rapport au point $(0,0)$ et affiché 
    119115au-dessus. 
    120  
    121  
    122116 
    123117%% Le plan doit être défini par son origine 
     
    139133\begin{LTXexample}[width=8cm] 
    140134\begin{pspicture}(-4,-1.5)(4,1.5) 
     135\psset{solidmemory} 
     136\psset{lightsrc=10 0 10,SphericalCoor, 
     137   viewpoint=50 -90 90,Decran=50} 
     138\psSolid[object=plantype,definition=normalpoint, 
     139   base=-4 4 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     140\psSolid[object=plan,definition=plantype, 
     141   args=monplan,plangrid] 
     142\psProjection[object=texte, 
     143   fontsize=20,linecolor=red, 
     144   pos=bc,plan=monplan, 
     145   text=j'aimerais tant voir Syracuse, 
     146](0,0)% 
     147\axesIIID(0,0,0)(4,2,1) 
     148\composeSolid 
     149\end{pspicture} 
     150\end{LTXexample} 
     151 
     152\subsubsection{Exemple 2 : projection Oxy, texte centré} 
     153 
     154\begin{LTXexample}[width=8cm] 
     155\begin{pspicture}(-4,-1.5)(4,1.5) 
     156\psset{solidmemory} 
    141157\psset{lightsrc=10 0 10,SphericalCoor=true, 
    142158   viewpoint=50 -90 90,Decran=50} 
    143 \psSolid[object=grille,normal=0 0 1
    144    base=-4 4 -1 1, 
    145    action=draw]% 
    146 \psProjection[object=texte, 
    147    fontsize=20,linecolor=red
    148    pos=bc
    149    text=j'aimerais tant voir Syracuse
    150    normal=0 0 1]% 
     159\psSolid[object=plantype,definition=normalpoint
     160   base=-4 4 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     161\psSolid[object=plan,definition=plantype, 
     162   args=monplan,plangrid] 
     163\psProjection[object=texte
     164   fontsize=20,linecolor=red
     165   text= L'île de Pâques et Kairouan
     166   plan=monplan]% 
    151167\axesIIID(0,0,0)(4,2,1) 
    152168\end{pspicture} 
     
    154170 
    155171 
    156 \subsubsection{Exemple 2 : projection Oxy, texte centré} 
     172 
     173\subsubsection {Exemple 3 : projection Oxy,  avec différentes options \texttt{pos=dl, etc.}} 
     174 
     175\begin{center} 
     176\psset{unit=.8} 
     177\begin{pspicture}(-4,-1.5)(4,1.5) 
     178\psset{solidmemory} 
     179\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     180\psSolid[object=plantype,definition=normalpoint, 
     181   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     182\psSolid[object=plan,definition=plantype, 
     183   args=monplan,plangrid] 
     184\psProjection[object=texte, 
     185   fontsize=20,linecolor=red, 
     186   text=Et les grands oiseaux qui s'amusent, 
     187   pos=dl, 
     188   plan=monplan]% 
     189\axesIIID(0,0,0)(8,1,1) 
     190\rput(0,-1.5){\Cadre{\texttt{[pos=dl]}}} 
     191\end{pspicture} 
     192\end{center} 
     193 
     194\begin{center} 
     195\psset{unit=.8} 
     196\begin{pspicture}(-4,-1.5)(4,1.5) 
     197\psset{solidmemory} 
     198\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     199\psSolid[object=plantype,definition=normalpoint, 
     200   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     201\psSolid[object=plan,definition=plantype, 
     202   args=monplan,plangrid] 
     203\psProjection[object=texte, 
     204   fontsize=20,linecolor=red, 
     205   text= A glisser l'aile sous le vent., 
     206   pos=dr, 
     207   plan=monplan]% 
     208\axesIIID(0,0,0)(8,1,1) 
     209\rput(0,-1.5){\Cadre{\texttt{[pos=dr]}}} 
     210\end{pspicture} 
     211\end{center} 
     212 
     213\begin{center} 
     214\psset{unit=.8} 
     215\begin{pspicture}(-4,-1.5)(4,1.5) 
     216\psset{solidmemory} 
     217\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     218\psSolid[object=plantype,definition=normalpoint, 
     219   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     220\psSolid[object=plan,definition=plantype, 
     221   args=monplan,plangrid] 
     222\psProjection[object=texte, 
     223   fontsize=20,linecolor=red, 
     224   text=Avant que ma jeunesse s'use, 
     225   pos=ur, 
     226   plan=monplan]% 
     227\axesIIID(0,0,0)(8,1,1) 
     228\rput(0,-1.5){\Cadre{\texttt{[pos=ur]}}} 
     229\end{pspicture} 
     230\end{center} 
     231 
     232\begin{center} 
     233\psset{unit=.8} 
     234\begin{pspicture}(-4,-1.5)(4,1.5) 
     235\psset{solidmemory} 
     236\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     237\psSolid[object=plantype,definition=normalpoint, 
     238   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     239\psSolid[object=plan,definition=plantype, 
     240   args=monplan,plangrid] 
     241\psProjection[object=texte, 
     242   fontsize=20,linecolor=red, 
     243   text=Et que mes printemps soient partis, 
     244   pos=ul, 
     245   plan=monplan]% 
     246\axesIIID(0,0,0)(8,1,1) 
     247\rput(0,-1.5){\Cadre{\texttt{[pos=ul]}}} 
     248\end{pspicture} 
     249\end{center} 
     250 
     251\begin{center} 
     252\psset{unit=.8} 
     253\begin{pspicture}(-4,-1.5)(4,1.5) 
     254\psset{solidmemory} 
     255\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     256\psSolid[object=plantype,definition=normalpoint, 
     257   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     258\psSolid[object=plan,definition=plantype, 
     259   args=monplan,plangrid] 
     260\psProjection[object=texte, 
     261   fontsize=20,linecolor=red, 
     262   text=J'aimerais tant voir Syracuse, 
     263   pos=uc, 
     264   plan=monplan]% 
     265\axesIIID(0,0,0)(8,1,1) 
     266\rput(0,-1.5){\Cadre{\texttt{[pos=uc]}}} 
     267\end{pspicture} 
     268\end{center} 
     269 
     270\begin{center} 
     271\psset{unit=.8} 
     272\begin{pspicture}(-4,-1.5)(4,1.5) 
     273\psset{solidmemory} 
     274\psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
     275\psSolid[object=plantype,definition=normalpoint, 
     276   base=-10 10 -1 1,args={0 0 0 [0 0 1]},name=monplan,] 
     277\psSolid[object=plan,definition=plantype, 
     278   args=monplan,plangrid] 
     279\psProjection[object=texte, 
     280   fontsize=20,linecolor=red, 
     281   text=Pour m'en souvenir à Paris., 
     282   pos=dc, 
     283   plan=monplan]% 
     284\axesIIID(0,0,0)(8,1,1) 
     285\rput(0,-1.5){\Cadre{\texttt{[pos=dc]}}} 
     286\end{pspicture} 
     287\end{center} 
     288 
     289\subsubsection {Exemple 4 : projection Oxy avec rotation du texte} 
    157290 
    158291\begin{LTXexample}[width=8cm] 
    159 \begin{pspicture}(-4,-1.5)(4,1.5) 
     292\begin{pspicture}(-4,-3)(4,3) 
     293\psset{solidmemory} 
    160294\psset{lightsrc=10 0 10,SphericalCoor=true, 
    161295   viewpoint=50 -90 90,Decran=50} 
    162 \psSolid[object=grille,normal=0 0 1, 
    163    base=-4 4 -1 1, 
    164    action=draw]% 
    165 \psProjection[object=texte, 
    166    fontsize=20,linecolor=red, 
    167    text= L'île de Pâques et Kairouan, 
    168    normal=0 0 1]% 
    169 \axesIIID(0,0,0)(4,2,1) 
     296\psSolid[object=plantype,definition=normalpoint, 
     297   base=-4 4 -3 3,args={0 0 0 [0 0 1]},name=monplan,] 
     298\psSolid[object=plan,definition=plantype, 
     299   args=monplan,plangrid] 
     300\psset{plan=moplan} 
     301\psProjection[object=texte, 
     302   fontsize=28.45,linecolor=gray!50, 
     303   text=Tournez manèges, 
     304   plan=monplan]% 
     305\psProjection[object=texte, 
     306   fontsize=28.45,linecolor=red, 
     307   text=Tournez manèges, 
     308   phi=60, 
     309   plan=monplan]% 
     310\axesIIID(0,0,0)(4,3,1) 
    170311\end{pspicture} 
    171312\end{LTXexample} 
    172  
    173 \subsubsection {Exemple 3 : projection Oxy,  avec différentes options \texttt{pos=dl, etc.}} 
    174  
    175 \begin{center} 
    176 \psset{unit=.8} 
    177 \begin{pspicture}(-4,-1.5)(4,1.5) 
    178 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    179 \psSolid[object=grille,normal=0 0 1, 
    180    base=-10 10 -1 1, 
    181    action=draw]% 
    182 \psProjection[object=texte, 
    183    fontsize=20,linecolor=red, 
    184    text=Et les grands oiseaux qui s'amusent, 
    185    pos=dl, 
    186    normal=0 0 1]% 
    187 \axesIIID(0,0,0)(8,1,1) 
    188 \rput(0,-1.5){\Cadre{\texttt{[pos=dl]}}} 
    189 \end{pspicture} 
    190 \end{center} 
    191  
    192 \begin{center} 
    193 \psset{unit=.8} 
    194 \begin{pspicture}(-4,-1.5)(4,1.5) 
    195 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    196 \psSolid[object=grille,normal=0 0 1, 
    197    base=-10 10 -1 1, 
    198    action=draw]% 
    199 \psProjection[object=texte, 
    200    fontsize=20,linecolor=red, 
    201    text= A glisser l'aile sous le vent., 
    202    pos=dr, 
    203    normal=0 0 1]% 
    204 \axesIIID(0,0,0)(8,1,1) 
    205 \rput(0,-1.5){\Cadre{\texttt{[pos=dr]}}} 
    206 \end{pspicture} 
    207 \end{center} 
    208  
    209 \begin{center} 
    210 \psset{unit=.8} 
    211 \begin{pspicture}(-4,-1.5)(4,1.5) 
    212 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    213 \psSolid[object=grille,normal=0 0 1, 
    214    base=-10 10 -1 1, 
    215    action=draw]% 
    216 \psProjection[object=texte, 
    217    fontsize=20,linecolor=red, 
    218    text=Avant que ma jeunesse s'use, 
    219    pos=ur, 
    220    normal=0 0 1]% 
    221 \axesIIID(0,0,0)(8,1,1) 
    222 \rput(0,-1.5){\Cadre{\texttt{[pos=ur]}}} 
    223 \end{pspicture} 
    224 \end{center} 
    225  
    226 \begin{center} 
    227 \psset{unit=.8} 
    228 \begin{pspicture}(-4,-1.5)(4,1.5) 
    229 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    230 \psSolid[object=grille,normal=0 0 1, 
    231    base=-10 10 -1 1, 
    232    action=draw]% 
    233 \psProjection[object=texte, 
    234    fontsize=20,linecolor=red, 
    235    text=Et que mes printemps soient partis, 
    236    pos=ul, 
    237    normal=0 0 1]% 
    238 \axesIIID(0,0,0)(8,1,1) 
    239 \rput(0,-1.5){\Cadre{\texttt{[pos=ul]}}} 
    240 \end{pspicture} 
    241 \end{center} 
    242  
    243 \begin{center} 
    244 \psset{unit=.8} 
    245 \begin{pspicture}(-4,-1.5)(4,1.5) 
    246 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    247 \psSolid[object=grille,normal=0 0 1, 
    248    base=-10 10 -1 1, 
    249    action=draw]% 
    250 \psProjection[object=texte, 
    251    fontsize=20,linecolor=red, 
    252    text=J'aimerais tant voir Syracuse, 
    253    pos=uc, 
    254    normal=0 0 1]% 
    255 \axesIIID(0,0,0)(8,1,1) 
    256 \rput(0,-1.5){\Cadre{\texttt{[pos=uc]}}} 
    257 \end{pspicture} 
    258 \end{center} 
    259  
    260 \begin{center} 
    261 \psset{unit=.8} 
    262 \begin{pspicture}(-4,-1.5)(4,1.5) 
    263 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -90 90,Decran=50} 
    264 \psSolid[object=grille,normal=0 0 1, 
    265    base=-10 10 -1 1, 
    266    action=draw]% 
    267 \psProjection[object=texte, 
    268    fontsize=20,linecolor=red, 
    269    text=Pour m'en souvenir à Paris., 
    270    pos=dc, 
    271    normal=0 0 1]% 
    272 \axesIIID(0,0,0)(8,1,1) 
    273 \rput(0,-1.5){\Cadre{\texttt{[pos=dc]}}} 
    274 \end{pspicture} 
    275 \end{center} 
    276  
    277 \subsubsection {Exemple 4 : projection Oxy avec rotation du texte} 
     313La rotation du texte s'introduit avec le paramètre \Cadre{\texttt{phi=60}}. 
     314 
     315\subsubsection{Exemple 5 : positionnement du texte en un point quelconque} 
    278316 
    279317\begin{LTXexample}[width=8cm] 
    280318\begin{pspicture}(-4,-3)(4,3) 
    281 \psset{lightsrc=10 0 10,SphericalCoor=true, 
    282    viewpoint=50 -90 90,Decran=50} 
    283 \psSolid[object=grille,normal=0 0 1, 
    284    base=-4 4 -3 3, 
    285    action=draw]% 
    286 \psProjection[object=texte, 
    287    fontsize=28.45,linecolor=gray!50, 
    288    text=Tournez manèges, 
    289    normal=0 0 1]% 
    290 \psProjection[object=texte, 
    291    fontsize=28.45,linecolor=red, 
    292    text=Tournez manèges, 
    293    normal=0 0 1 60]% 
    294 \axesIIID(0,0,0)(4,3,1) 
    295 \end{pspicture} 
    296 \end{LTXexample} 
    297 La rotation du texte s'introduit dans la normale \Cadre{\texttt{normal=0 0 1 60}}. 
    298  
    299 \subsubsection{Exemple 5 : positionnement du texte en un point quelconque} 
    300  
    301 \begin{LTXexample}[width=8cm] 
    302 \begin{pspicture}(-4,-3)(4,3) 
     319\psset{solidmemory} 
    303320\psset{SphericalCoor=true,viewpoint=50 -90 90, 
    304321   Decran=50} 
    305 \psSolid[object=grille,normal=0 0 1, 
    306    base=-4 4 -3 3]% 
     322\psSolid[object=plantype,definition=normalpoint, 
     323   base=-4 4 -3 3,args={0 0 0 [0 0 1]},name=monplan,] 
     324\psSolid[object=plan,definition=plantype, 
     325   args=monplan,plangrid] 
     326\psset{fontsize=28.45,plan=monplan} 
     327\psProjection[object=texte, 
     328   linecolor=green, 
     329   text=ici](-2,-2) 
     330\psProjection[object=texte, 
     331   linecolor=red, 
     332   text=ou]% 
     333\psProjection[object=texte, 
     334   linecolor=blue, 
     335   text=là](2,2) 
    307336\psPoint(0,0,0){O} 
    308337\psPoint(-2,-2,0){O1} 
    309338\psPoint(2,2,0){O2} 
    310 \psset{fontsize=28.45,normal=0 0 1} 
    311 \psProjection[object=texte, 
    312    linecolor=green, 
    313    text=ici](-2,-2,0) 
    314 \psProjection[object=texte, 
    315    linecolor=red, 
    316    text=ou]% 
    317 \psProjection[object=texte, 
    318    linecolor=blue, 
    319    text=là](2,2,0) 
    320339\psdots[dotsize=0.2](O)(O1)(O2) 
    321340\axesIIID(0,0,0)(4,4,1) 
     
    328347 
    329348Le solide doit être mémorisé avec l'option générale 
    330 \Cadre{\texttt{\psset{solidmemory}}}. La première chose à faire est de 
     349\Cadre{$\backslash$psset$\{$solidmemory$\}$}. La première chose à faire est de 
    331350repérer les numéros des faces du solide 
    332351avec l'option \Cadre{\texttt{[numfaces=all]}}. 
     
    340359\end{pspicture} 
    341360\end{LTXexample} 
    342 Puis d'afficher le texte sur la face choisie, ici on affiche 
    343 \Cadre{\texttt{A}} sur la face de numéro $0$ \Cadre{\texttt{no=0}}~: 
     361 
     362Puis on définit le plan de projection par la face choisie, ici on affiche 
     363\Cadre{\texttt{A}} sur la face de numéro $0$~: 
     364\begin{gbar} 
    344365\begin{verbatim} 
    345 \psset{fontsize=100, 
    346    no=0, 
    347    solidname=A1} 
    348 \psProjection[object=texte,linecolor=red,text=A] 
     366\psSolid[object=plantype,definition=solidface,args=A 0,name=P0] 
     367\psProjection[object=texte,linecolor=red,text=A,plan=P0]% 
    349368\end{verbatim} 
     369\end{gbar} 
     370 
    350371\begin{LTXexample}[width=8cm] 
    351372\psset{SphericalCoor,viewpoint=50 20 30,Decran=50} 
    352373\begin{pspicture}(-3,-4)(4,5) 
    353374\psset{unit=0.5} 
    354 \psSolid[object=cube,a=8,action=draw,linecolor=red]% 
    355 \psset{solidmemory} 
    356 \psSolid[object=cube,a=8, 
    357    name=A1, 
    358    action=none](0,0,0) 
    359 \psset{fontsize=100, 
    360    no=0, 
    361    solidname=A1} 
    362 \psProjection[object=texte,linecolor=red,text=A]% 
    363 \psset{fontsize=100, 
    364    no=1, 
    365    solidname=A1} 
    366 \psProjection[object=texte,linecolor=red,text=B]% 
    367 \psset{fontsize=100, 
    368    no=4, 
    369    solidname=A1} 
    370 \psProjection[object=texte,linecolor=red,text=E]% 
     375\psset{solidmemory} 
     376\psSolid[object=cube,a=8,action=draw,name=A,linecolor=red]% 
     377\psset{fontsize=100} 
     378\psSolid[object=plantype, 
     379   definition=solidface,args=A 0,name=P0] 
     380\psProjection[object=texte,linecolor=red,text=A,plan=P0]% 
     381\psSolid[object=plantype, 
     382   definition=solidface,args=A 1,name=P1] 
     383\psProjection[object=texte,linecolor=red,text=B,plan=P1]% 
     384\psSolid[object=plantype, 
     385   definition=solidface,args=A 4,name=P4] 
     386\psProjection[object=texte,linecolor=red,text=E,plan=P4]% 
    371387\axesIIID(4,4,4)(6,6,6) 
    372388\end{pspicture} 
     
    379395\psset{unit=0.5} 
    380396\begin{pspicture}(-3,-4)(4,5) 
    381 \psSolid[object=cube,a=8,action=draw,linecolor=red]% 
    382 \psset{solidmemory} 
    383 \psSolid[object=cube,a=8, 
    384    name=A1, 
    385    action=none](0,0,0) 
    386 \psset{fontsize=200, 
    387    no=0, 
    388    solidname=A1} 
    389 \psProjection[object=texte,linecolor=gray,text=A]% 
     397\psset{solidmemory} 
     398\psSolid[object=cube,a=8,action=draw,linecolor=red,name=A]% 
     399\psset{fontsize=200} 
     400\psSolid[object=plantype, 
     401   definition=solidface,args=A 0,name=P0] 
     402\psProjection[object=texte,linecolor=gray,text=A,plan=P0]% 
    390403\psset{phi=90} 
    391 \psProjection[object=texte,linecolor=red,text=A]% 
     404\psProjection[object=texte,linecolor=red,text=A,plan=P0]% 
    392405\axesIIID(4,4,4)(6,6,6) 
    393406\end{pspicture} 
     
    401414\def\JuangJie{% 
    402415\begin{pspicture}(-3.5,-2)(3.5,4) 
    403 \psframe[fillcolor=cyan!50,fillstyle=solid](-3.5,-2)(3.5,4) 
     416\psframe[fillcolor=cyan!50,fillstyle=solid](-3.5,-2)(3.5,4)% 
    404417\psSolid[object=cylindre,r=8,h=0.2,ngrid=1 36,action=draw**,hue=0.5 0.6]% 
    405418\psSolid[object=cube,a=8,h=0.2,ngrid=1 36,action=draw**,color1=magenta!50, 
    406419  color2=red!20,color3=yellow!50,color4=green!50, 
    407420  fcol=0 (color1) 1 (color2) 2 (color3) 3 (color4) 4(White)](0,0,4.2)% 
    408 \psset{solidmemory} 
     421\psset{solidmemory}% 
    409422\psSolid[object=cube,a=8, 
    410    name=A1
     423   name=A
    411424   action=none](0,0,4.2)% 
    412 \psset{fontsize=30, 
    413    phi=-90, 
    414    no=0, 
    415    solidname=A1} 
    416 \psProjection[object=texte,text=poème](-3,0,8)% 
    417 \psset{fontsize=30, 
    418    phi=-90, 
    419    no=0, 
    420    solidname=A1} 
    421 \psProjection[object=texte,text=de ](-2,0,8)% 
    422 \psset{fontsize=55, 
    423    phi=-90, 
    424    no=0, 
    425    solidname=A1} 
    426 \psProjection[object=texte,linecolor=red,text=Juang Jie ](0,0,8)% 
    427 \psset{fontsize=28.45,pos=bc, 
    428    phi=180, 
    429    no=4, 
    430    solidname=A1} 
    431 \psProjection[object=texte,text={Dans ma jeunesse,}](4,0,7)% 
    432 \psset{fontsize=20,pos=bc, 
    433    phi=180, 
    434    no=4, 
    435    solidname=A1} 
    436 \psProjection[object=texte,text=j'écoutais le son de la pluie](4,0,6)% 
    437 \psset{fontsize=20,pos=bc, 
    438    phi=180, 
    439    no=4, 
    440    solidname=A1} 
    441 \psProjection[object=texte,text=dans les maisons de plaisir](4,0,5)% 
    442 \psset{fontsize=20,pos=bc, 
    443    phi=180, 
    444    no=4, 
    445    solidname=A1} 
    446 \psProjection[object=texte,text=les tentures frissonnaient](4,0,4)% 
    447 \psset{fontsize=20,pos=bc, 
    448    phi=180, 
    449    no=4, 
    450    solidname=A1} 
    451 \psProjection[object=texte,text=sous la lumière rouge](4,0,3)% 
    452 \psset{fontsize=20,pos=bc, 
    453    phi=180, 
    454    no=4, 
    455    solidname=A1} 
    456 \psProjection[object=texte,text=des candélabres](4,0,2)% 
    457 \psset{fontsize=25, 
    458    phi=90,pos=bc, 
    459    no=1, 
    460    solidname=A1} 
    461 \psProjection[object=texte,text=Dans mon âge mûr](0,4,7)% 
    462 \psset{fontsize=20, 
    463    phi=90,pos=bc, 
    464    no=1, 
    465    solidname=A1} 
    466 \psProjection[object=texte,text=j'ai écouté le son de la pluie](0,4,6)% 
    467 \psset{fontsize=18, 
    468    phi=90,pos=bc, 
    469    no=1, 
    470    solidname=A1} 
    471 \psProjection[object=texte,text={en voyage, à bord d'un bateau}](0,4,5)% 
    472 \psset{fontsize=20, 
    473    phi=90,pos=bc, 
    474    no=1, 
    475    solidname=A1} 
    476 \psProjection[object=texte,text=les nuages pesaient bas](0,4,4)% 
    477 \psset{fontsize=20, 
    478    phi=90,pos=bc, 
    479    no=1, 
    480    solidname=A1} 
    481 \psProjection[object=texte,text=sur l'immensité du fleuve](0,4,3)% 
    482 \psset{fontsize=20,pos=bc, 
    483    phi=90, 
    484    no=1, 
    485    solidname=A1} 
    486 \psProjection[object=texte,text=une oie sauvage ](0,4,2)% 
    487 \psset{fontsize=20,pos=bc, 
    488    phi=90, 
    489    no=1, 
    490    solidname=A1} 
    491 \psProjection[object=texte,text=séparée de ses soeurs](0,4,1)% 
    492 \psset{fontsize=20,pos=bc, 
    493    phi=90, 
    494    no=2, 
    495    solidname=A1} 
    496 \psProjection[object=texte,text=appelait dans le vent d'ouest](-4,0,7)% 
    497 \psset{fontsize=20,pos=bc, 
    498    phi=90, 
    499    no=2, 
    500    solidname=A1} 
    501 \psProjection[object=texte,text={Aujourd'hui,}](-4,0,6)% 
    502 \psset{fontsize=20,pos=bc, 
    503    phi=90, 
    504    no=2, 
    505    solidname=A1} 
    506 \psProjection[object=texte,text=j'écoute le son de la pluie](-4,0,5)% 
    507 \psset{fontsize=20,pos=bc, 
    508    phi=90, 
    509    no=2, 
    510    solidname=A1} 
    511 \psProjection[object=texte,text=sous le charme](-4,0,4)% 
    512 \psset{fontsize=20,pos=bc, 
    513    phi=90, 
    514    no=2, 
    515    solidname=A1} 
    516 \psProjection[object=texte,text=d'un ermitage monastique](-4,0,3)% 
    517 \psset{fontsize=20,pos=bc, 
    518    phi=90, 
    519    no=2, 
    520    solidname=A1} 
    521 \psProjection[object=texte,text=Ma tête est chenue](-4,0,2)% 
    522 \psset{fontsize=20,pos=bc, 
    523    phi=90, 
    524    no=2, 
    525    solidname=A1} 
    526 \psProjection[object=texte,text=chagrins et bonheurs](-4,0,1)% 
    527 \psset{fontsize=20, 
    528    phi=90,pos=bc, 
    529    no=3, 
    530    solidname=A1} 
    531 \psProjection[object=texte,text=séparations et retrouvailles](0,-4,7)% 
    532 \psset{fontsize=20, 
    533    phi=90,pos=bc, 
    534    no=3, 
    535    solidname=A1} 
    536 \psProjection[object=texte,text=tout est vanité](0,-4,6)% 
    537 \psset{fontsize=20, 
    538    phi=90,pos=bc, 
    539    no=3, 
    540    solidname=A1} 
    541 \psProjection[object=texte,text={Dehors, sur les marches}](0,-4,5)% 
    542 \psset{fontsize=20, 
    543    phi=90,pos=bc, 
    544    no=3, 
    545    solidname=A1} 
    546 \psProjection[object=texte,text=les gouttes tambourinent](0,-4,4)% 
    547 \psset{fontsize=20, 
    548    phi=90,pos=bc, 
    549    no=3, 
    550    solidname=A1} 
    551 \psProjection[object=texte,text= jusqu'à l'aube](0,-4,3)% 
    552 \psset{fontsize=20,pos=bc, 
    553    phi=90, 
    554    no=3, 
    555    solidname=A1} 
    556 \psProjection[object=texte,text=Juang Jie ](0,-4,1)% 
     425%% la face 0 
     426\psSolid[object=plantype,definition=solidface, 
     427   base=-4 4 -4 4,args=A 0,name=P0]% 
     428%\psSolid[object=plan,definition=plantype,args=P0,planmarks,action=none,]% 
     429\psset{fontsize=30,plan=P0}% 
     430\psProjection[object=texte,text=poème](0,3)% 
     431\psProjection[object=texte,text=de](0,2)% 
     432\psset{fontsize=55} 
     433\psProjection[object=texte,linecolor=red,text=Juang Jie] 
     434%% la face 4 
     435\psSolid[object=plantype,definition=solidface,base=-4 4 -4 4,args=A 4,phi=-90,name=P4]% 
     436%\psSolid[object=plan,definition=plantype,args=P4,fontsize=10,planmarks,action=none]% 
     437\psset{fontsize=28.45,pos=bc,plan=P4} 
     438\psProjection[object=texte,text={Dans ma jeunesse,}](0,3)% 
     439\psset{fontsize=20} 
     440\psProjection[object=texte,text=j'écoutais le son de la pluie](0,2)% 
     441\psProjection[object=texte,text=dans les maisons de plaisir](0,1)% 
     442\psProjection[object=texte,text=les tentures frissonnaient]% 
     443\psProjection[object=texte,text=sous la lumière rouge](0,-1)% 
     444\psProjection[object=texte,text=des candélabres](0,-2)% 
     445%% la face 1 
     446\psSolid[object=plantype,definition=solidface,base=-4 4 -4 4,args=A 1,phi=180,name=P1]% 
     447%\psSolid[object=plan,definition=plantype,args=P1,fontsize=10,planmarks,action=none]% 
     448\psset{plan=P1} 
     449\psProjection[object=texte,fontsize=25,text=Dans mon âge mûr](0,3)% 
     450\psProjection[object=texte,text=j'ai écouté le son de la pluie](0,2)% 
     451\psProjection[object=texte,fontsize=18,text={en voyage, à bord d'un bateau}](0,1)% 
     452\psProjection[object=texte,text=les nuages pesaient bas]% 
     453\psProjection[object=texte,text=sur l'immensité du fleuve](0,-1)% 
     454\psProjection[object=texte,text=une oie sauvage ](0,-2)% 
     455\psProjection[object=texte,text=séparée de ses soeurs](0,-3)% 
     456%% la face 2 
     457\psSolid[object=plantype,definition=solidface,base=-4 4 -4 4,args=A 2,phi=180,name=P2]% 
     458%\psSolid[object=plan,definition=plantype,args=P2,fontsize=10,planmarks,action=none]% 
     459\psset{plan=P2} 
     460\psProjection[object=texte,text=appelait dans le vent d'ouest](0,3)% 
     461\psProjection[object=texte,text={Aujourd'hui,}](0,2)% 
     462\psProjection[object=texte,text=j'écoute le son de la pluie](0,1)% 
     463\psProjection[object=texte,text=sous le charme]% 
     464\psProjection[object=texte,text=d'un ermitage monastique](0,-1)% 
     465\psProjection[object=texte,text=Ma tête est chenue](0,-2)% 
     466\psProjection[object=texte,text=chagrins et bonheurs](0,-3)% 
     467%% la face 3 
     468\psSolid[object=plantype,definition=solidface,base=-4 4 -4 4,args=A 3,phi=180,name=P3]% 
     469%\psSolid[object=plan,definition=plantype,args=P3,fontsize=10,planmarks,action=none]% 
     470\psset{plan=P3} 
     471\psProjection[object=texte,text=séparations et retrouvailles](0,3)% 
     472\psProjection[object=texte,text=tout est vanité](0,2)% 
     473\psProjection[object=texte,text={Dehors, sur les marches}](0,1)% 
     474\psProjection[object=texte,text=les gouttes tambourinent]% 
     475\psProjection[object=texte,text= jusqu'à l'aube](0,-1)% 
     476\psProjection[object=texte,text=Juang Jie ](0,-3)% 
    557477\composeSolid 
    558478\end{pspicture}} 
    559479 
    560480\def\MollyBloom{% 
    561 \psset{SphericalCoor,visibility} 
    562 \psSolid[object=grille,normal=0 0 1,linecolor=red, 
     481%\psset{lightsrc=-15 -9 5} 
     482%\psset{SphericalCoor,viewpoint=20 -150 30,Decran=11} 
     483\psset{solidmemory,visibility} 
     484%% le plan de base 
     485\psSolid[object=plantype, 
     486   definition=equation, 
     487   ngrid=1. 1., 
     488   args={[0 0 1 0]},linecolor=red, 
    563489   base=-8 10 -8 8, 
    564    action=draw*]% 
    565 \psProjection[object=texte, 
    566    fontsize=25, 
     490   name=G]% 
     491\psSolid[object=plan,definition=plantype,args=G,linecolor=red, 
     492%   planmarks 
     493]% 
     494\psset{fontsize=25,,pos=bc,plan=G} 
     495\psProjection[object=texte, 
     496   phi=-90, 
    567497   text=le monologue de Molly, 
    568498   pos=bc, 
    569    normal=0 0 1 -90](-5,0,0) 
    570 \psProjection[object=texte, 
    571    fontsize=25, 
    572    text=dans Ulysse de James Joyce, 
    573    pos=bc, 
    574    normal=0 0 1](1,-5,0) 
    575 \psSolid[object=grille,RotX=90,RotZ=-90,ngrid=1, 
    576    base= -8 8 -0.5 0.5,action=draw*,fillcolor=yellow!50](10,0,0.5) 
    577 \psSolid[object=grille,RotX=-90,RotZ=-90,ngrid=1, 
    578    base= -8 8 -0.5 0.5,action=draw*,fillcolor=rose](10,0,0.5) 
    579 \psProjection[object=texte, 
    580    fontsize=20, 
    581    text=O cet effrayant torrent tout au fond O et la mer écarlate, 
    582    pos=cc, 
    583    normal=-1 0 0](10,0,0.5) 
    584 \psSolid[object=grille,RotY=90,RotZ=-90,ngrid=1, 
    585    base= -0.5 0.5 -8 8,action=draw*,fillcolor=yellow!50](0,7,0.5) 
    586 \psSolid[object=grille,RotY=-90,RotZ=-90,ngrid=1, 
    587    base= -0.5 0.5 -8 8,action=draw*,fillcolor=rose](0,7,0.5) 
    588 \psProjection[object=texte, 
    589    fontsize=20, 
    590    text=les ruelles bizarres les maisons roses et bleues et jaunes, 
    591    pos=cc, 
    592    normal=0 -1 0](0,7,0.5) 
    593 \psSolid[object=grille,RotY=90,RotZ=-90,ngrid=1, 
    594    base= -0.5 0.5 -9 9,action=draw*,fillcolor=rose](1,-8,0.5) 
    595 \psSolid[object=grille,RotY=-90,RotZ=-90,ngrid=1, 
    596    base= -0.5 0.5 -9 9,action=draw*,fillcolor=yellow!50](1,-8,0.5) 
    597 \psProjection[object=texte, 
    598    fontsize=20, 
    599    text=quelquefois comme du feu et les glorieux couchers de soleil et, 
    600    pos=cc, 
    601    normal=0 1 0 180](1,-8,0.5) 
    602 \psSolid[object=grille,RotX=90,RotZ=-90,ngrid=1, 
    603    base= -7 8 -0.5 0.5,action=draw*,fillcolor=rose](-8,0,0.5) 
    604 \psSolid[object=grille,RotX=-90,RotZ=-90,ngrid=1, 
    605    base= -7 8 -0.5 0.5,action=draw*,fillcolor=yellow!50](-8,0,0.5) 
    606 \psProjection[object=texte, 
    607    fontsize=20, 
    608    text=les figuiers dans les jardins de l'Alameda et toutes, 
    609    pos=cc, 
    610