dimanche 22 mars 2015

Représenter une surface par des lignes

Pour représenter une surface z = f (x, y), on utilise l’algorithme deWright.
Dans son livre : Graphisme Scientifique paru aux éditions Masson en 1985, l’auteur R.Dony décrit cette méthode de façon très détaillée et propose des exemples programmés en Basic. Il est dommage que ce livre ne soit plus édité, car il est remarquablement documenté, on peut toutefois en trouver des exemplaires d’occasion chez les bouquinistes. C’est une adaptation en Postscript de son programme, que j’utilise pour la commande dédiée à ce type de tracé. Tous les exemples sont tirés du livre de R.Dony.
La commande s’écrit : \psSurfaceHiddenLine[options℄(x1,x2)(y1,y2) et comprend les options de pst-solides3d, pour éventuellement essayer de superposer les 2 types de représentations qui est du bel effet, comme on peut le voir dans l’un des exemples suivants.
  1. [nL=41] : nombre de lignes ;
  2. [nP=99] : nombre de points pour chaque ligne.
 (x1,x2)(y1,y2) sont les bornes d’étude de la fonction.
[viewpoint et Decran] sont les options de pst-solides3d.








Le package porte de nom de pst-shl et comporte les fichiers .sty, .tex et la documentation :


Le livre de R.Dony étant difficilement trouvable,  les 6 pages conscrées à ce thème ont incluses dans le dossier précédemment cié.


le code :

\begin{pspicture}(-7.5,-7)(7.5,7)
\psframe(-7.5,-7)(7.5,7)
\psset{nP=150,nL=51,viewpoint=100 60 25 rtp2xyz,Decran=100,lightsrc=viewpoint}%
\psSurface[inouthue=0 1 0.5 1,ngrid=0.1 0.1,
          incolor=yellow,linewidth=0.05\pslinewidth,
          grid,unit=1.75,algebraic](-3,-3)(3,3){3*sin(x)^3*sin(y)^3}%
\rput(0.1,0.6){%
\psSurfaceHiddenLines[unit=1.75,algebraic](-3,3)(-3,3){3*sin(x)^3*sin(y)^3}}%
\rput(0,-6){\huge$z=3\sin^3x\sin^3y$}
\end{pspicture}

Aucun commentaire:

Enregistrer un commentaire