mercredi 27 février 2013

Projection d’images(.eps) sur un plan avec pst-solides3d

\psImage est un complément au package ‘pst-solides3d’. Cette commande permet d’afficher une image au format .eps sur un plan défini par une origine et une normale, ce plan pouvant être la face d’un objet prédéfini : un cube par exemple. L’image .eps doit être préparée selon la méthode indiquée dans la documentation de ‘pst-anamorphosis’.
Cette macro utilise pour le calcul de l’image le code mis au point par Jean-Michel Sarlat pour ‘pst-anamorphosis’, il a été adapté à l’affichage des images dans un plan pour ‘pst-solides3d’.

Pour son utilisation, cette macro comprend différentes options :

\psImage[file=image.eps,
              divisions=10,
               normale=nx ny nz,
              origine=xO yO zO,
              phi=angle,
              unitImage=28.45](x,y)


Elle centre l’image sur le plan au point défini par l’origine, elle peut-être déplacée en un autre point en fixant les valeurs du couple (x,y). On peut omettre ces valeurs si on ne translate pas l’image en autre point que l’origine du plan.
divisions=10 permet de choisir le nombre de sous-segments pour lineto dans le fichier image
à afficher. Plus le nombre est élevé et plus l’image projetée sera fidèle à l’originale. Cependant la
projection ayant lieu sur un plan, la déformation sera faible dans tous les cas sauf si on se rapproche
très près du plan, en conséquence un petit nombre de sous-divisions donnera en général un résultat
correct et permettra d’effectuer les calculs rapidement et d'autre part le fichier obtenu sera plus léger.
phi permet de faire tourner l’image d’une valeur fixée en degrés.
unitImage=28.45 permet de redimensionner la taille de l’image eps qui généralement est en points, en cm, une valeur plus grande donnera une image plus petite.
Si l’on souhaite placer l’image sur la face d’un objet, il faudra suivre la procédure suivante :
  • déterminer le numéro des faces de l’objet : voir la documentation de ‘pst-solides3d’ ;
  • donner pour normale celle de la face concernée et pour origine celle de cette même face. On
    pourra toujours décaler l’image avec (x,y).
\begin{pspicture}(-5,-5)(5,5)
\psset{solidmemory}
\psSolid[object=cube,a=8,action=draw,name=OBJET,linecolor=red]%
\psImage[fichier=picsou01.eps,normal=OBJET 0 solidnormaleface,
origine=OBJET 0 solidcentreface,unitPicture=75]%(0,0
\psImage[fichier=picsou02.eps,normal=OBJET 1 solidnormaleface,
origine=OBJET 1 solidcentreface,unitPicture=75]%(0,0)
\psImage[fichier=picsou03.eps,normal=OBJET 4 solidnormaleface,
origine=OBJET 4 solidcentreface,unitPicture=75]
\psImage[fichier=picsou04.eps,normal=OBJET 3 solidnormaleface,
origine=OBJET 3 solidcentreface,unitPicture=75]
\psImage[fichier=picsou05.eps,normal=OBJET 2 solidnormaleface,
origine=OBJET 2 solidcentreface,unitPicture=75]
\end{pspicture}


Si le plan choisi n’est pas visible pour la position fixée, on pourra, si on le souhaite, forcer l’affichage de l’image avec l’option visibility.



Une animation au format flash :
http://manuel.luque.perso.neuf.fr/Images2pst-solides3d/pst-picsou.html

Utiliser la nouvelle version :
 http://manuel.luque.perso.neuf.fr/Images2pst-solides3d/images4pst-solides3d-doc-v4.pdf
http://manuel.luque.perso.neuf.fr/Images2pst-solides3d/images4pst-solides3d-doc-v4.tex

Tous les fichiers, notamment les images, sont ici :

http://manuel.luque.perso.neuf.fr/Images2pst-solides3d/

Aucun commentaire:

Enregistrer un commentaire