mercredi 3 avril 2013

Projection d'images sur un plan avec pst-solides3d : version 0.4

\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)


Dans cette nouvelle version file remplace fichier.
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[file=picsou01.eps,normal=OBJET 0 solidnormaleface,
origine=OBJET 0 solidcentreface,unitPicture=75]%(0,0
\psImage[file=picsou02.eps,normal=OBJET 1 solidnormaleface,
origine=OBJET 1 solidcentreface,unitPicture=75]%(0,0)
\psImage[file=picsou03.eps,normal=OBJET 4 solidnormaleface,
origine=OBJET 4 solidcentreface,unitPicture=75]
\psImage[file=picsou04.eps,normal=OBJET 3 solidnormaleface,
origine=OBJET 3 solidcentreface,unitPicture=75]
\psImage[file=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 : (pst-picsou.html) dans :


La documentation de la nouvelle version : images4pst-solides3d-doc-v4.pdf et images4pst-solides3d-doc-v4.tex dans :

Tous les fichiers, notamment les images, sont ici :

Une galerie de personnages de BD :
Les images des personnages illustrant le dessin ci-dessus ont été obtenues à partir du site :
http://all-free-download.com/free-vector

 
exemples_projection_images_pst-solides3d.pdf et exemples_projection_images_pst-solides3d.tex dans :

Aucun commentaire:

Enregistrer un commentaire