samedi 26 septembre 2015

Phénomènes de réfraction en 3D - version 2 (Refraction of Water)

C'est la suite des articles :

 http://pstricks.blogspot.fr/2015/09/phenomenes-de-refracction-en-3d.html

et :

http://pstricks.blogspot.fr/2015/09/phenomenes-dus-la-refraction-mise-jour-1.html

La macro \refraction permet maintenant de gérer les valeurs de zA positives.

L’expérience du bâton brisé dans l’eau : nous aurons l’illusion que le bâton se brise dans l’eau en changeant le point de vue.

Les nouveaux fichiers sont ici :
 
Pour simuler les phénomènes d’optique, POVRAY est un outil idéal, aucun calcul n’est à coder, il suffit de donner l’indice de réfraction du milieu (ior=1.33) et je l’ai déjà utilisé à plusieurs reprises dans ce blog :
http://pstricks.blogspot.fr/
par exemple ici :
http://pstricks.blogspot.fr/2011/12/dispersion-par-un-prisme-simulation.html
et plus généralement :
http://pstricks.blogspot.fr/2011/08/pov-ray-vs-pstricks.html
L’expérience du bâton brisé dans l’eau a été représentée avec POVRAY en particulier par Friedrich Lohmueller :
http://www.f-lohmueller.de/pov_tut/backgrnd/p_wat5f.htm
et dans le blog(dont je ne connais pas le nom de l’auteur) :
http://blog.biophysengr.net/2012/07/tutorial-refraction-in-povray.html
Ces deux exemples sont très bien réalisés, et de plus le code est fourni par les auteurs.

Remarque :
on pourra ajouter un petit poison rouge dans le bassin, en incorporant les fichiers suivants dans le répertoire de compilation :
fish-couleurs.dat
fish-faces.dat
fish-io.dat
fish-sommets.dat
qui sont dans le répertoire :

et en ajoutant, à la fin du dernier environnement \begin{pspicture}...\end{pspicture} le code suivant (en gras) :

\psSolid[object=load,name=Cyl1,fillcolor={[rgb]{0.88 0.8 0.6 }}]
\psSolid[object=datfile,file=fish,transform=\refraction,
         color1=red!50,
         color2=red,hue=(color1) (color2),grid]

\psSolid[object=cylindre,r=0.25,h=16,fillcolor={[rgb]{0.88 0.8 0.6 }},RotX=alpha](0,-4,1)

mercredi 23 septembre 2015

Phénomènes de réfraction en 3D (Refraction of Water)


Que voyons-nous d’un objet en 3 dimensions plongé dans l’eau ? Dans cette étude simplifiée, l’oeil de l’observateur est placé sur l’axe vertical Oz, le centre de la pupille est repéré par les coordonnées (0, 0, zB) et son rayon noté r. L’objet observé est à une certaine profondeur et l’on s’intéresse à l’un de ses points A(xA, yA, zA < 0). On suit le trajet des rayons réfractés dans l’air depuis A et qui aboutissent aux 2 bords diamétralement opposés de la pupille situés dans le plan vertical passant par B et A et situés sur une horizontale. Dans ce cas les rayons réfractés appartiennent à ce plan vertical et leur prolongement dans l’eau se coupent en un point V qui est l’image de A, c’est ce point image V qui est vu par l’observateur. Cette façon simplifiée de déterminer le point virtuel V permet de s’affranchir des problèmes d’astigmatisme et ainsi de rendre les calculs plus simples.
Les explications complémentaires sont dans le document (refraction3d.pdf et refraction3d.tex) situé dans le répertoire :
Des objets sont placés dans une piscine et voici ce que l'observateur  devrait voir et ce qu'il verrait si la piscine était vidée :


Les coordonnées d’un objet de pst-solides3d vu par réfraction, sont calculées avec l’option transform=\refraction. Il faut s’assurer que la coordonnée z est bien strictement négative.

Voir la mise-à-jour :
http://pstricks.blogspot.fr/2015/09/phenomenes-de-refraction-en-3d-version-2.html


samedi 12 septembre 2015

Phénomènes dus à la réfraction - mise à jour 1 (Refraction of Water)

Nouvelle commande : \listplotR
Le tracé d'un contour polygonal est fonctionnel : \pspolygonR[...](x0,y0)(x1,y1)(...)(xn,yn)
Ce sont des exemples d’utilisation de la commande \listplotR[...]{x0 y0 x1 y1 ...}, qui est l’analogue de la commande PSTricks \listplot[...]{x0 y0 x1 y1 ...}, mais dont les coordonnées sont calculées pour obtenir l’image par réfraction d’un objet, ici une amphore, ou d’un poisson.
Quelques images illustrant cette commande.

L’amphore dont seul le contour est dessiné est dans sa position réelle, l’amphore colorée est l’image vue par le spectateur.
L’amphore couchée au fond de l’eau et un poisson. La première image représente les positions réelles, la seconde les images vues.
Cette dernière image illustre le tracé d'une paire de rayons réfractés issus d'un point de la sardine.
Les fichiers sont regroupés dans cette archive (refraction.zip) du répertoire :


Image d'un damier :

\begin{pspicture}(0,-10)(10,6)
\psframe*[linecolor=eau](0,-10)(10,0)
\psframe*[linecolor=white](1.75,-9.25)(8.25,-2.75)
\multido{\ry=-8.75+1,\rY=-8.25+1}{6}{
\multido{\n=2.25+1.00,\N=2.75+1.00}{6}{%
    \psframe*[linecolor=red](\n,\ry)(\N,\rY)}
    }
\multido{\ry=-9.25+1,\rY=-8.75+1}{7}{
\multido{\n=1.75+1.00,\N=2.25+1.00}{7}{%
    \psframe*[linecolor=blue](\n,\ry)(\N,\rY)}
    }
\psframe(1.75,-9.25)(8.25,-2.75)
\psframe(0,-10)(10,6)
\end{pspicture}
\begin{pspicture}(0,-10)(10,6)
\psset{xObserver=5,yObserver=1,SizeObserver=0.5,abscisseDirectionRegard=5.01}
\EyeDraw
\psframe*[linecolor=eau](0,-10)(10,0)
\psframeR*[linecolor=white](1.75,-9.25)(8.25,-2.75)
\multido{\ry=-8.75+1,\rY=-8.25+1}{6}{
\multido{\n=2.25+1.00,\N=2.75+1.00}{6}{%
    \psframeR*[linecolor=red](\n,\ry)(\N,\rY)}
    }
\multido{\ry=-9.25+1,\rY=-8.75+1}{7}{
\multido{\n=1.75+1.00,\N=2.25+1.00}{7}{%
    \psframeR*[linecolor=blue](\n,\ry)(\N,\rY)}
    }
\psframeR(1.75,-9.25)(8.25,-2.75)
\psframe(0,-10)(10,6)
\end{pspicture}

mercredi 9 septembre 2015

Phénomènes dus à la réfraction (Refraction of Water)

Du bord d'un étang, d'une rivière, lorsqu’il nous arrive de regarder dans l’eau, les images que nous percevons du monde aquatique, poissons et objets qui s’y trouvent nous apparaissent différentes de ce qu’ils sont en réalité, ils nous semblent plus proches, plus petits, distordus. Le but de ce modeste article est d’essayer d’interpréter ce phénomène.
Pour dessiner les illustrations de ce document, qui est une mise à jour d'un premier essai datant de 2003 et qui avait servi pour rédiger un article dans la revue Tangente n° HS 35, j'ai utilisé un package : pst-refraction. Le document , fichier pdf, source et package sont téléchargeables ici (refraction.zip) dans le répertoire :


Quelques images obtenues avec le package et qui sont incluses dans le document (refraction_doc_version_2015.pdf) du dossier précédent :

J'ai représenté en gris, la position réelle du poisson et du fond de l'étang, les images virtuelles, celles qui sont perçues par l'observateur,  sont en couleurs.
À l'inverse, ce que devrait percevoir un poisson du monde aérien. 
L'image d'un texte.
Une autre scène, en gris les positions réelles, les images virtuelles sont en couleurs.

La caustique des rayons réfractés.

Remarque : pour calculer et dessiner la caustique du prolongement des rayons rayons réfractés, un observateur n’est point nécessaire.
La caustique est l’enveloppe de ces rayons, il suffit, dans un premier temps, de connaître l’équation d’un rayon réfracté issu d’un point de l’eau. Soit A ce point et H la profondeur à laquelle il est situé. L’axe vertical Oy passe par ce point et l’axe horizontal Ox est sur la surface de l’eau.
 La suite : explications et calculs dans le fichier (.tex et .pdf) 
caustique-refraction-2.tex et caustique-refraction-2.pdf du répertoire indiqué au début :











mercredi 2 septembre 2015

La synthèse soustractive des couleurs et l’option blendmode de PSTricks

C’est grâce à un article très élogieux, que lui a consacré le magazine Lire du mois de septembre 2015, que j’ai découvert le livre de Jérémie Fischer : “Wild about shapes”. Dans la version française, celui-ci s’appelle “Animaux” tout simplement.
Lorsqu’on ouvre le livre à une page quelconque, on trouve à gauche des aplats d’une seule couleur cyan, aux formes vagues et indistinctes et à droite un transparent d’une couleur unique soit jaune soit magenta, aux formes elles aussi vagues et indistinctes. Lorsqu’on rabat le transparent sur la page de gauche, un animal apparaît d’une couleur qui est le résultat de la superposition de celles du transparent et de la page. Par exemple : cyan+jaune =vert et un animal, girafe, tortue, pieuvre ou papillon, apparaît en vert. On aura reconnu la synthèse soustractive des couleurs.
Dans ce document (bendmode-exemples.pdf, bendmode-exemples.tex) de l'archive :
j'essaye d'analyser le procédé utilisé par l'auteur en utilisant 2 exemples qui n'ont aucune prétention artistique, pour cela achetez le livre de Jérémie Fischer. Dans le document les animations ont été réalisées avec le package animate d'Alexander Grahn.

J'extrais quelques images du document qui servent à illustrer les explications, par exemple le dessin de la silhouette du requin, et la séparation en 2 parties pour les couleurs.

Les animations au format Gif :
 En ce qui concerne l'option blendmode avec PSTricks, voici les liens qui se rapportaient à ce thème :

http://pstricks.blogspot.fr/2012/09/loption-blendmode-de-pstricks-pour.html
http://pstricks.blogspot.fr/2012/09/loption-blendmodelighten-de-pstricks-et.html
http://pstricks.blogspot.fr/2012/08/loption-bendmodemultiply-de-pstricks-et.html

J'ai fait une mise à jour mineure ici (pstricks_blendmode.pdf, pstricks_blendmode.tex) inclus dans l'archive :

Un essai(le contour est simplement polygonal) d'animation en 3D avec le package pst-solides3d avec les fichiers (animate-shark-3d.pdf, animate-shark-3d.tex) de l'archive ci-dessus.